Function at 0x44c997
Capabilities:
Extract resource via kernel32 functions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x19c
push ebx
mov dword [esp + 0x14], 0xfffffff6
xor eax, eax
push esi
mov dword [esp + 0x20], 0x71ebdc59
push edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], eax
jmp 0x44c9d9
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0xc8], 0x42575e7e
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x44c9c6
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
mov edi, dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 6
push 1
pop ebx
jle 0x44cc73
mov dword [esp + 0x18], 3
lea ecx, [esp + 0x98]
push 2
call fcn.004016e3
xor eax, eax
mov dword [esp + 0x14], 0xaf3922cb
mov dword [esp + 0x10], eax
jmp 0x44ca36
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov dword [ecx + edx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x44ca24
mov dword [esp + 0x18], eax
jmp 0x44cc4b
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x20], 0xd1d8475
mov dword [esp + 0x2c], 2
mov dword [esp + 0x20], eax
jmp 0x44ca78
mov ecx, dword [esp + 0x20]
mov dword [esp + ecx*4 + 0x44], 0xd35da2a0
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jl 0x44ca68
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x18]
cmp ecx, 0xffffffff
mov dword [esp + 0x44], ecx
setg dl
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
sub edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
neg edx
sbb edx, edx
inc edx
imul edx, ecx
mov ecx, dword [esp + 0x98]
mov dword [ecx], edx
cmp edx, dword [esp + 0x18]
jl 0x44cac5
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
cmp ecx, edx
setne bl
xor edx, edx
cmp ebx, 0x1949
setge dl
sub edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
mov ecx, dword [esp + 0x10]
setl bl
xor edx, edx
cmp ebx, ecx
setl dl
xor ecx, ecx
cmp ecx, edx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0x374c7af5
setle dl
xor ebx, ebx
add edx, dword [esp + 0x10]
add edx, dword [esp + 0x18]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp edx, ecx
setg bl
cmp ebx, dword [esp + 0x10]
jle 0x44cbd5
mov dword [esp + 0x20], 0xa746c20b
cmp dword [esp + 0x1c], eax
je 0x44cb57
mov ecx, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
imul ecx, dword [esp + 0x1c]
cmp ecx, 0x7eab
setle dl
imul ecx, edx, 0xfffb
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x24], eax
jne 0x44cb9c
cmp dword [esp + 0x10], eax
jne 0x44cb9c
xor ebx, ebx
mov edx, eax
inc ebx
jmp 0x44cba1
xor ebx, ebx
inc ebx
mov edx, ebx
mov ecx, dword [esp + 0x20]
sub edx, ecx
add edx, dword [esp + 0x2c]
mov dword [esp + 0xcc], edx
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44cc25
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
xor eax, eax
jmp 0x44cc25
mov ecx, dword [esp + 0x24]
xor ebx, ebx
mov dword [esp + 0x14], ecx
inc ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], eax
jl 0x44cc25
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], eax
jl 0x44cc1f
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44cc19
push 0x2330
push 0x141
push eax
call esi
xor eax, eax
dec dword [esp + 0x20]
jns 0x44cbff
dec dword [esp + 0x14]
jns 0x44cbf5
mov dword [esp + 0x20], eax
jmp 0x44cc40
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44cc3c
push eax
push eax
call edi
xor eax, eax
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0x10
jne 0x44cc2b
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffffe
jg 0x44ca46
lea ecx, [esp + 0x98]
call fcn.004017b5
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 6
jg 0x44c9fe
xor eax, eax
cmp byte [ebp + 8], 0
mov dword [esp + 0xcc], 0x2e653d3a
je 0x44d71e
mov dword [esp + 0x10], 6
mov dword [esp + 0x10], eax
jmp 0x44cca2
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x64], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x44cc96
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44ccca
push eax
push 0x12
push eax
push eax
push 0xb19
push 0x1906
call dword [sym.imp.USER32.dll_ToAsciiEx]
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x44cce0
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x64], 0xade19d29
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x44ccd0
mov dword [esp + 0x1c], 0xfffffff6
mov dword [esp + 0x24], 0x71ebdc59
mov dword [esp + 0x10], eax
jmp 0x44cd0f
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0xbc], 0x42575e7e
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x44ccfc
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 6
jle 0x44cf9a
mov dword [esp + 0x20], 3
lea ecx, [esp + 0xa4]
push 2
call fcn.004016e3
xor eax, eax
mov dword [esp + 0x14], 0xaf3922cb
mov dword [esp + 0x10], eax
jmp 0x44cd5d
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xa4]
mov dword [ecx + edx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x44cd4b
mov dword [esp + 0x20], eax
jmp 0x44cf72
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x18], 0xd1d8475
mov dword [esp + 0x2c], 2
mov dword [esp + 0x18], eax
jmp 0x44cd9f
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x48], 0xd35da2a0
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x44cd8f
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x20]
cmp ecx, 0xffffffff
mov dword [esp + 0x48], ecx
setg dl
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
neg edx
sbb edx, edx
inc edx
imul edx, ecx
mov ecx, dword [esp + 0xa4]
mov dword [ecx], edx
cmp edx, dword [esp + 0x20]
jl 0x44cdec
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
cmp ecx, edx
setne bl
xor edx, edx
cmp ebx, 0x1949
setge dl
sub edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
mov ecx, dword [esp + 0x10]
setl bl
xor edx, edx
cmp ebx, ecx
setl dl
xor ecx, ecx
cmp ecx, edx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0x374c7af5
setle dl
xor ebx, ebx
add edx, dword [esp + 0x10]
add edx, dword [esp + 0x20]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
cmp edx, ecx
setg bl
cmp ebx, dword [esp + 0x10]
jle 0x44cefc
mov dword [esp + 0x18], 0xa746c20b
cmp dword [esp + 0x1c], eax
je 0x44ce7e
mov ecx, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
imul ecx, dword [esp + 0x1c]
cmp ecx, 0x7eab
setle dl
imul ecx, edx, 0xfffb
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x24], eax
jne 0x44cec3
cmp dword [esp + 0x10], eax
jne 0x44cec3
xor ebx, ebx
mov edx, eax
inc ebx
jmp 0x44cec8
xor ebx, ebx
inc ebx
mov edx, ebx
mov ecx, dword [esp + 0x18]
sub edx, ecx
add edx, dword [esp + 0x2c]
mov dword [esp + 0xc0], edx
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44cf4c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
xor eax, eax
jmp 0x44cf4c
mov ecx, dword [esp + 0x24]
xor ebx, ebx
mov dword [esp + 0x14], ecx
inc ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x14], eax
jl 0x44cf4c
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], eax
jl 0x44cf46
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44cf40
push 0x2330
push 0x141
push eax
call esi
xor eax, eax
dec dword [esp + 0x18]
jns 0x44cf26
dec dword [esp + 0x14]
jns 0x44cf1c
mov dword [esp + 0x18], eax
jmp 0x44cf67
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44cf63
push eax
push eax
call edi
xor eax, eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x10
jne 0x44cf52
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffffe
jg 0x44cd6d
lea ecx, [esp + 0xa4]
call fcn.004017b5
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 6
jg 0x44cd25
xor eax, eax
mov dword [esp + 0xc0], 0x2e653d3a
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x2c], 0x9fb37b04
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44cfc9
push eax
call dword [sym.imp.USER32.dll_CharUpperW]
xor eax, eax
push 0xffffffffffffffe3
pop esi
push 2
mov dword [esp + 0x14], 0xfffffff1
pop edi
cmp dword [esp + 0x10], esi
jl 0x44d038
mov dword [esp + 0x2c], 0xfffffff9
mov dword [esp + 0x14], eax
jmp 0x44cffe
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x110], 0x5912491e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x44cfeb
mov edx, dword [esp + 0x2c]
xor ebx, ebx
mov ecx, dword [esp + 0x10]
cmp ecx, edx
setge bl
mov dword [esp + 0x110], ebx
mov dword [esp + 0x2c], ebx
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44d032
push eax
call dword [sym.imp.KERNEL32.dll_HeapDestroy]
xor eax, eax
dec dword [esp + 0x10]
jmp 0x44cfd7
mov dword [esp + 0x14], 0xd4e06482
xor ebx, ebx
inc ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 0xccc89593
mov dword [esp + 0x18], 0x3785
mov dword [esp + 0x14], esi
cmp dword [esp + 0x14], 0xd
je 0x44d11f
mov esi, 0x7412df3d
jmp 0x44d06f
xor eax, eax
push dword [esp + 0x28]
movdqa xmm0, xmmword [0xa601f0]
lea ecx, [esp + 0x15c]
push ecx
lea ecx, [esp + 0x150]
mov dword [esp + 0x7c], eax
push ecx
push eax
lea ecx, [esp + 0x84]
mov dword [esp + 0x88], eax
movdqu xmmword [esp + 0x158], xmm0
mov dword [esp + 0x8c], eax
call fcn.00401817
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x28], 5
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], esi
xor esi, esi
mov dword [esp + 0x10], esi
jmp 0x44d0fb
mov dword [esp + 0x24], esi
dec dword [esp + 0x24]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jle 0x44d0ef
lea ecx, [esp + 0x74]
call fcn.004017b5
inc dword [esp + 0x14]
mov esi, 0x7412df3d
cmp dword [esp + 0x14], 0xd
jne 0x44d06d
dec dword [esp + 0x18]
xor eax, eax
cmp byte [ebp + 0xc], al
je 0x44d4e7
push dword [esp + 0x28]
movdqa xmm0, xmmword [0xa601e0]
lea ecx, [esp + 0x13c]
push ecx
lea ecx, [esp + 0x130]
mov dword [esp + 0x54], eax
push ecx
push eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x60], eax
movdqu xmmword [esp + 0x138], xmm0
mov dword [esp + 0x64], eax
call fcn.00401817
push 3
mov dword [esp + 0x24], ebx
xor eax, eax
pop esi
mov dword [esp + 0x2c], 0x97bc8b4
mov dword [esp + 0x20], esi
push 4
pop edi
cmp dword [esp + 0x20], eax
jl 0x44d2f7
mov dword [esp + 0x18], 0x4f402e31
mov dword [esp + 0x28], 0x711e7bff
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], 0x8cf1d65f
mov dword [esp + 0x10], eax
jmp 0x44d1c0
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx*4 + 0x198], 0xf5ef889a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x44d1ad
mov dword [esp + 0x18], esi
cmp dword [esp + 0x18], eax
jl 0x44d2a6
mov dword [esp + 0x10], 0x144ad72d
mov dword [esp + 0x28], 0x2189f42c
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], esi
jg 0x44d27b
xor esi, esi
mov dword [esp + 0x14], 8
lea ecx, [esp + 0xd4]
push ebx
call fcn.004016e3
mov dword [esp + 0x14], esi
jmp 0x44d225
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xd4]
mov dword [eax + ecx*4], 0xf7e7308
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x44d20f
mov dword [esp + 0x14], 3
cmp dword [esp + 0x14], esi
jl 0x44d253
mov dword [esp + 0x28], 0x9f5954e3
mov dword [esp + 0x24], 0x4087a912
inc dword [esp + 0x24]
dec dword [esp + 0x14]
jns 0x44d239
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
cmp dword [eax + ecx*4], esi
lea ecx, [esp + 0xd4]
call fcn.004017b5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jle 0x44d1f4
xor eax, eax
mov ecx, dword [esp + 0x20]
xor ebx, ebx
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x4c]
push 1
mov ecx, dword [edx + ecx*4]
cmp ecx, dword [edx + esi*4]
setge bl
mov dword [esp + 0x30], ebx
dec dword [esp + 0x1c]
pop ebx
push 3
pop esi
jns 0x44d1d4
mov dword [esp + 0x10], eax
jmp 0x44d2e7
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44d2ce
push 0x1da9
push 0x2685
push 0x1436
call dword [sym.imp.KERNEL32.dll_HeapCreate]
xor eax, eax
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44d2e3
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor eax, eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x44d2ac
dec dword [esp + 0x20]
jns 0x44d18b
lea ecx, [esp + 0x4c]
call fcn.004017b5
push esi
lea ecx, [esp + 0xb4]
call fcn.004016e3
push ebx
lea ecx, [esp + 0xfc]
call fcn.004016e3
xor esi, esi
mov dword [esp + 0x28], 0xb055cc25
mov dword [esp + 0x18], esi
jmp 0x44d340
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xb0]
mov dword [eax + ecx*4], 0x2e91a049
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x44d32a
mov dword [esp + 0x18], esi
jmp 0x44d360
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xf8]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x44d34d
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0xf8]
mov dword [eax + 4], esi
call fcn.004017b5
lea ecx, [esp + 0xb0]
call fcn.004017b5
push edi
lea ecx, [esp + 0xe4]
call fcn.004016e3
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x44d3b3
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov dword [ecx + edx*4], 0x327c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x44d39d
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], al
je 0x44d3e4
push eax
push 0x2bb
push 0x13ed
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetDIBColorTable]
xor eax, eax
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44d3f7
push eax
push eax
call dword [sym.imp.USER32.dll_LoadCursorA]
lea ecx, [esp + 0xe0]
call fcn.004017b5
movdqa xmm0, xmmword [0xa60210]
lea ecx, [esp + 0x188]
mov dword [esp + 0x14], 0x324ec2e0
xor eax, eax
mov dword [esp + 0x28], 0x71865425
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x28], 0xaf8b5131
mov dword [esp + 0x28], eax
mov dword [esp + 0x28], ebx
push dword [esp + 0x28]
movdqu xmmword [esp + 0x17c], xmm0
push ecx
lea ecx, [esp + 0x180]
mov dword [esp + 0x94], eax
push ecx
push eax
lea ecx, [esp + 0x9c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
call fcn.00401817
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], 0xd
jmp 0x44d4c4
mov dword [esp + 0x10], 0x3d9532bb
mov dword [esp + 0x10], 7
jmp 0x44d4b9
mov byte [esp + 0xf], 0
cmp byte [esp + 0xf], 0
je 0x44d4b5
push 0
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetPropA]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x10
je 0x44d498
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xffffffeb
jle 0x44d486
dec dword [esp + 0x24]
lea ecx, [esp + 0x8c]
call fcn.004017b5
mov eax, dword [esp + 0x30]
add dword [eax], 0x1b
jmp 0x44d9c5
movdqa xmm0, xmmword [0xa60230]
lea ecx, [esp + 0x178]
push 8
pop ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], 1
push dword [esp + 0x28]
movdqu xmmword [esp + 0x16c], xmm0
push ecx
lea ecx, [esp + 0x170]
mov dword [esp + 0x88], eax
push ecx
push eax
lea ecx, [esp + 0x90]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
call fcn.00401817
xor esi, esi
mov dword [esp + 0x24], 0xdd79339b
mov dword [esp + 0x1c], esi
jmp 0x44d5de
mov dword [esp + 0x10], 0xfda0e60f
lea ecx, [esp + 0xec]
push edi
call fcn.004016e3
mov dword [esp + 0x10], esi
jmp 0x44d585
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xec]
mov dword [eax + ecx*4], 0xfff7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x44d56f
mov dword [esp + 0x10], 0xffffffe3
jmp 0x44d5c7
cmp dword [esp + 0x1c], esi
je 0x44d5a3
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], 0xcf041577
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xb
jle 0x44d595
lea ecx, [esp + 0xec]
call fcn.004017b5
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xfffffff8
je 0x44d554
dec dword [esp + 0x24]
lea ecx, [esp + 0x80]
call fcn.004017b5
xor eax, eax
mov dword [esp + 0x10], eax
push 4
mov dword [esp + 0x18], 0x9f7fd1e8
mov dword [esp + 0x18], eax
pop edi
jmp 0x44d623
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x188], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x44d610
cmp dword [esp + 0x10], 0xd149febb
push 3
sbb ecx, ecx
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
pop esi
jmp 0x44d688
mov ecx, dword [esp + 0x10]
cmp dword [esp + ecx*4 + 0x188], eax
jne 0x44d68e
mov dword [esp + 0x14], eax
jmp 0x44d67e
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], 0
je 0x44d67a
push 0x21e3
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
xor eax, eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x44d654
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x44d641
push 2
lea ecx, [esp + 0x108]
call fcn.004016e3
xor eax, eax
mov dword [esp + 0x10], 0xfffffffe
mov dword [esp + 0x10], eax
jmp 0x44d6be
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x104]
mov dword [ecx + edx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x44d6ac
mov dword [esp + 0x10], eax
jmp 0x44d6df
cmp byte [esp + 0xf], 0
je 0x44d6db
push eax
call dword [sym.imp.USER32.dll_CharNextW]
xor eax, eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
mov byte [esp + 0xf], al
jle 0x44d6cb
cmp byte [esp + 0xf], 0
je 0x44d6f7
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
lea ecx, [esp + 0x104]
call fcn.004017b5
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
test eax, eax
jns 0x44d9c5
add eax, 0x100
js 0x44d710
mov dword [ecx], eax
jmp 0x44d9c5
push dword [esp + 0x28]
lea ecx, [esp + 0x14c]
mov dword [esp + 0x14], 0xac64a684
push ecx
lea ecx, [esp + 0x140]
mov dword [esp + 0x60], eax
push ecx
xorps xmm0, xmm0
mov dword [esp + 0x68], eax
push eax
lea ecx, [esp + 0x68]
mov dword [esp + 0x70], eax
movdqu xmmword [esp + 0x148], xmm0
call fcn.00401817
mov edi, dword [sym.imp.GDI32.dll_SetBkColor]
xor eax, eax
push 8
pop esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], 0xe708bee
mov dword [esp + 0x2c], 6
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], al
je 0x44d798
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0xfffffff7
je 0x44d86d
mov dword [esp + 0x14], eax
mov dword [esp + 0x14], eax
jmp 0x44d7bd
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x3c], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x44d7b1
mov dword [esp + 0x3c], 3
cmp dword [esp + 0x3c], eax
jl 0x44d858
mov edi, dword [esp + 0x58]
mov dword [esp + 0x14], eax
jmp 0x44d7ef
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x38], 0xf17e2f9d
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x44d7df
cmp dword [edi + 4], eax
je 0x44d802
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x10], eax
jne 0x44d814
mov edx, eax
cmp dword [esp + 0x38], eax
je 0x44d816
mov edx, ebx
mov ecx, dword [esp + 0x3c]
xor ebx, ebx
add ecx, edx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp ecx, edx
mov ecx, dword [esp + 0x24]
setne bl
sub ecx, ebx
je 0x44d83b
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub edx, ecx
mov ecx, dword [esp + 0x30]
add ecx, edx
mov dword [esp + 0x24], ecx
dec dword [esp + 0x3c]
push 1
pop ebx
jns 0x44d7d9
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff7
jne 0x44d7a7
mov edi, dword [sym.imp.GDI32.dll_SetBkColor]
lea ecx, [esp + 0x58]
call fcn.004017b5
push dword [esp + 0x28]
lea ecx, [esp + 0x16c]
mov dword [esp + 0x14], 0xac64a684
push ecx
xor eax, eax
lea ecx, [esp + 0x160]
push ecx
xorps xmm0, xmm0
mov dword [esp + 0x74], eax
push eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x7c], eax
movdqu xmmword [esp + 0x168], xmm0
mov dword [esp + 0x80], eax
call fcn.00401817
mov dword [esp + 0x24], esi
xor eax, eax
mov dword [esp + 0x30], 0xe708bee
mov dword [esp + 0x2c], 6
mov byte [esp + 0xf], al
cmp byte [esp + 0xf], al
je 0x44d8ec
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x44d9aa
mov dword [esp + 0x14], eax
mov dword [esp + 0x14], eax
jmp 0x44d90b
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x34], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x44d8ff
mov dword [esp + 0x34], 3
cmp dword [esp + 0x34], eax
jl 0x44d9a6
mov esi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
jmp 0x44d93d
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x40], 0xf17e2f9d
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x44d92d
cmp dword [esi + 4], eax
je 0x44d950
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
cmp dword [esp + 0x10], eax
jne 0x44d962
mov edx, eax
cmp dword [esp + 0x40], eax
je 0x44d964
mov edx, ebx
mov ecx, dword [esp + 0x34]
xor ebx, ebx
add ecx, edx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
cmp ecx, edx
mov ecx, dword [esp + 0x24]
setne bl
sub ecx, ebx
je 0x44d989
mov ecx, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
sub edx, ecx
mov ecx, dword [esp + 0x30]
add ecx, edx
mov dword [esp + 0x24], ecx
dec dword [esp + 0x34]
push 1
pop ebx
jns 0x44d927
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff7
jne 0x44d8f5
lea ecx, [esp + 0x68]
call fcn.004017b5
mov eax, dword [esp + 0x28]
add dword [eax], 0x15
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret