Function at 0x439000
Capabilities:
Capture screenshot

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov ebx, eax
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4c
call esi
mov dword [esp + 0x14], eax
push 0x4d
call esi
mov dword [esp + 0x10], eax
push 7
push ebx
call dword [sym.imp.GDI32.dll_GetCurrentObject]
mov edi, eax
lea eax, [esp + 0x3c]
push eax
push 0x18
push edi
call dword [sym.imp.GDI32.dll_GetObjectW]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebp, eax
mov edi, dword [esp + 0xc]
push edi
push esi
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [esp + 8], eax
push eax
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x20], eax
push 0xcc0020
push dword [esp + 0x14]
push dword [esp + 0x1c]
mov dword [esp + 0x24], ebx
push ebx
push edi
push esi
push 0
push 0
push ebp
call dword [sym.imp.GDI32.dll_BitBlt]
lea eax, [esi + esi]
not eax
mov dword [esp + 0x24], esi
add eax, esi
mov ecx, edi
xor ecx, eax
xor ecx, 0xfffffffd
and ecx, eax
mov esi, 0xdc42b5cf
cmp ecx, 0xffffffff
jl case.default.0x4390cb
mov esi, 0xdaa79e02
mov ecx, 0xac9f2a7e
xor eax, eax
cmp ecx, 0xd333b6fe
setl al
jmp dword [eax*4 + 0x45320c]
xor eax, eax
cmp ecx, 0xac9f2a7e
setl al
jmp dword [eax*4 + 0x45324c]
xor eax, eax
cmp ecx, 0xd0fa2b6f
setl al
jmp dword [eax*4 + 0x453254]
sete al
movzx eax, al
jmp dword [eax*4 + 0x45325c]
mov ecx, 0x3ef4d34a
xor eax, eax
cmp ecx, 0xd333b6fe
setl al
movzx edx, byte [esp + 3]
mov ebx, edx
jmp dword [eax*4 + 0x45320c]
xor eax, eax
cmp ecx, 0xa374d204
sete al
jmp dword [eax*4 + 0x45326c]
push edi
call fcn.0040c4a0
add esp, 4
mov ecx, 0xd0fa2b6f
xor eax, eax
cmp ecx, 0xd333b6fe
setl al
jmp dword [eax*4 + 0x45320c]
xor eax, eax
cmp ecx, 0xac9f2a7e
sete al
jmp dword [eax*4 + 0x453264]
xor eax, eax
cmp esi, 0xd333b6fe
setl al
mov ecx, esi
jmp dword [eax*4 + 0x45320c]
xor eax, eax
cmp ecx, 0xdc42b5cf
setl al
jmp dword [eax*4 + 0x453214]
xor eax, eax
cmp ecx, 0x3ef4d34a
setl al
jmp dword [eax*4 + 0x45321c]
xor eax, eax
cmp ecx, 0xdc42b5cf
sete al
jmp dword [eax*4 + 0x45322c]
push 0xcc0020
push dword [esp + 0x14]
push dword [esp + 0x1c]
push 0
push 0
push dword [esp + 0x2c]
push dword [esp + 0x24]
push dword [esp + 0x40]
push 0
push 0
push ebp
call dword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, 0xdaa79e02
xor eax, eax
cmp ecx, 0xd333b6fe
setl al
jmp dword [eax*4 + 0x45320c]
xor eax, eax
cmp ecx, 0xdaa79e02
setl al
jmp dword [eax*4 + 0x453234]
sete al
movzx eax, al
jmp dword [eax*4 + 0x45323c]
mov ebx, dword [esp + 0x20]
push ebx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
push ebp
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [esp + 0x18]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
lea eax, [esp + 0x38]
lea ecx, [esp + 0x1c]
push eax
push ecx
push dword [esp + 0x10]
call fcn.00439390
add esp, 0xc
mov ecx, 0xd333b6fe
test al, al
jne 0x439289
mov ecx, 0x3ef4d34a
xor ebx, ebx
xor eax, eax
cmp ecx, 0xd333b6fe
setl al
jmp dword [eax*4 + 0x45320c]
xor eax, eax
cmp ecx, 0xd333b6fe
sete al
jmp dword [eax*4 + 0x453244]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x28], 0xbaa8a697
mov dword [esp + 0x2c], 0xa360a7b9
mov word [esp + 0x30], 0xbaa2
mov byte [esp + 0x32], 0x5e
mov word [esp + 0x33], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xc
ja 0x43931b
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x28]
push dword [esp + 4]
push eax
call fcn.0043c400
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xd
jb 0x4392f0
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x68]
push ebx
push edi
push eax
call fcn.0040d260
mov ebx, eax
mov edi, dword [esp + 0x1c]
mov ecx, 0x3ef4d34a
test edi, edi
je 0x43933f
mov ecx, 0xa374d204
xor eax, eax
cmp ecx, 0xd333b6fe
setl al
mov edx, ebx
mov byte [esp + 3], bl
jmp dword [eax*4 + 0x45320c]
sete al
movzx eax, al
jmp dword [eax*4 + 0x453224]
xor eax, eax
cmp ecx, 0xd333b6fe
setl al
jmp dword [eax*4 + 0x45320c]
push dword [esp + 8]
call dword [sym.imp.GDI32.dll_DeleteObject]
and bl, 1
mov eax, ebx
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x368]
test eax, eax
mov eax, 0xcab9e340
jne 0x439af2
mov eax, 0xa62841d7
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x22], 0
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x38]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0x56b03b8f
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x28c00077
setl cl
mov dword [esp + 0x2cc], ecx
mov ecx, dword [esp + 0x2d0]
mov edx, dword [esp + 0x2cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x121f8ac7
sete cl
mov dword [esp + 0x25c], ecx
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x25c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1fd9e2ce
setl cl
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0x290]
mov edx, dword [esp + 0x28c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xb0c6fedd
setl cl
mov dword [esp + 0x1ec], ecx
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x56b03b8f
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x8aa69369
sete cl
mov dword [esp + 0x184], ecx
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x184]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbfc5a66c
setl cl
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x210]
mov edx, dword [esp + 0x20c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9bdb2a4e
sete cl
mov dword [esp + 0x1a4], ecx
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xc303cf02
sete cl
mov dword [esp + 0x214], ecx
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x214]
mov eax, dword [eax + ecx*4]
jmp eax
retf
xor ecx, ecx
mov edx, eax
sub edx, 0xd54a9453
setl cl
mov dword [esp + 0x244], ecx
mov ecx, dword [esp + 0x248]
mov edx, dword [esp + 0x244]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x4763efa9
sete cl
mov dword [esp + 0x2ac], ecx
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2ac]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x56b03b8f
sete cl
mov dword [esp + 0x2d4], ecx
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x28c00077
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041cc10
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8d1f8c28
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x191f10c5
setl cl
mov dword [esp + 0x26c], ecx
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x26c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x69967b4c
sete cl
mov dword [esp + 0x2f4], ecx
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x23]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0xa62841d7
mov byte [esp + 0x22], al
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x209f4215
sete cl
mov dword [esp + 0x27c], ecx
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x27c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x50f849fc
setl cl
mov dword [esp + 0x2bc], ecx
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041cc10
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
sub ecx, eax
setl byte [esp + 0x26]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8150251e
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x6eb0c1cd
sete cl
mov dword [esp + 0x324], ecx
mov eax, dword [esp + 0x328]
mov ecx, dword [esp + 0x324]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8aa69369
setl cl
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x18c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xbfc5a66c
sete cl
mov dword [esp + 0x1f4], ecx
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1f4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x69967b4c
setl cl
mov dword [esp + 0x2fc], ecx
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x2fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041cc10
mov al, byte [esp + 0x24]
and al, 1
mov byte [esp + 0x25], al
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xd54a9453
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa4db3e0b
setl cl
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x50f849fc
sete cl
mov dword [esp + 0x2b4], ecx
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x848bd4d9
sete cl
mov dword [esp + 0x16c], ecx
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1fd9e2ce
sete cl
mov dword [esp + 0x274], ecx
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5aa7792
setl cl
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x23c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x2bdbbcef
setl cl
mov dword [esp + 0x2a4], ecx
mov ecx, dword [esp + 0x2a8]
mov edx, dword [esp + 0x2a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x28c00077
sete cl
mov dword [esp + 0x294], ecx
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5aa7792
sete cl
mov dword [esp + 0x234], ecx
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x234]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x6eb0c1cd
setl cl
mov dword [esp + 0x33c], ecx
mov ecx, dword [esp + 0x340]
mov edx, dword [esp + 0x33c]
mov ecx, dword [ecx + edx*4]
jmp ecx
push esi
pushal
fld xword [ebx - 0x224f2290]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc303cf02
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
lea ebp, [esp + 0x58]
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.00408250
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
test eax, eax
mov eax, 0x69967b4c
jne 0x43a0e2
mov eax, 0x848bd4d9
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x23], 0
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x85dc1179
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x7863783d
sete cl
mov dword [esp + 0x32c], ecx
mov eax, dword [esp + 0x330]
mov ecx, dword [esp + 0x32c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0040c4a0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x121f8ac7
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x34]
mov ebx, dword [eax + ecx*4]
mov edx, ebx
and edx, 0xff00ff00
mov ebp, ebx
and ebp, 0xff0000
shr ebp, 0x10
or edx, ebp
movzx ebx, bl
shl ebx, 0x10
not edx
not ebx
and edx, ebx
not edx
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0x65b40037
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5fe5de00
setl cl
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 0x2e8]
mov edx, dword [esp + 0x2e4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6d1e0aa3
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa30ee6ec
setl cl
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041cc10
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8aa69369
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xcab9e340
sete cl
mov dword [esp + 0x21c], ecx
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x21c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x25]
and al, 1
movzx eax, al
add esp, 0x3b4
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, byte [esp + 0x26]
test al, al
mov eax, 0xa30ee6ec
jne 0x43a29b
mov eax, 0xb0c6fedd
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x6d1e0aa3
sete cl
mov dword [esp + 0x314], ecx
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x314]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x6b711b26
sete cl
mov dword [esp + 0x30c], ecx
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x30c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8d1f8c28
setl cl
mov dword [esp + 0x1d4], ecx
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xcab9e340
setl cl
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x228]
mov edx, dword [esp + 0x224]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x9bdb2a4e
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa62841d7
sete cl
mov dword [esp + 0x1dc], ecx
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x209f4215
setl cl
mov dword [esp + 0x284], ecx
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x848bd4d9
setl cl
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x8d1f8c28
sete cl
mov dword [esp + 0x19c], ecx
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x19c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x5aa7792
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3c]
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8d1f8c28
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x50]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8aa69369
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4763efa9
setl cl
mov dword [esp + 0x2c4], ecx
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x2c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041cc10
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x5aa7792
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x7863783d
setl cl
mov dword [esp + 0x334], ecx
mov ecx, dword [esp + 0x338]
mov edx, dword [esp + 0x334]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x9bdb2a4e
setl cl
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x848bd4d9
mov byte [esp + 0x23], 1
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
imul ecx, edx
imul eax, ecx
mov ecx, dword [esp + 0x30]
add ecx, eax
mov dword [esp + 0x364], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x65b40037
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc17dd8b0
sete cl
mov dword [esp + 0x1fc], ecx
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x1fc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc303cf02
setl cl
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp + 0x250]
mov edx, dword [esp + 0x24c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa30ee6ec
sete cl
mov dword [esp + 0x1b4], ecx
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1b4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x8150251e
sete cl
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x27]
test al, al
mov eax, 0x5fe5de00
jne 0x43a5f2
mov eax, 0xc17dd8b0
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x6d1e0aa3
setl cl
mov dword [esp + 0x31c], ecx
mov ecx, dword [esp + 0x320]
mov edx, dword [esp + 0x31c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x191f10c5
sete cl
mov dword [esp + 0x264], ecx
mov eax, dword [esp + 0x268]
mov ecx, dword [esp + 0x264]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x22]
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6b711b26
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041cc10
mov eax, dword [esp + 0x50]
mov dword [esi], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x7863783d
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x65b40037
setl cl
mov dword [esp + 0x304], ecx
mov ecx, dword [esp + 0x308]
mov edx, dword [esp + 0x304]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xd54a9453
sete cl
mov dword [esp + 0x22c], ecx
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x22c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x56b03b8f
setl cl
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0x350]
mov edx, dword [esp + 0x34c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa4db3e0b
sete cl
mov dword [esp + 0x1bc], ecx
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1bc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xb0c6fedd
sete cl
mov dword [esp + 0x1e4], ecx
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x85dc1179
sete cl
mov dword [esp + 0x17c], ecx
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x17c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5fe5de00
sete cl
mov dword [esp + 0x2dc], ecx
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2dc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x85dc1179
setl cl
mov dword [esp + 0x194], ecx
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x194]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x65b40037
sete cl
mov dword [esp + 0x2ec], ecx
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x34], eax
call fcn.0041cc10
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc303cf02
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x38], eax
call fcn.0041cc10
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa4db3e0b
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa62841d7
setl cl
mov dword [esp + 0x254], ecx
mov ecx, dword [esp + 0x258]
mov edx, dword [esp + 0x254]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x6b711b26
setl cl
mov dword [esp + 0x344], ecx
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x344]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2bdbbcef
sete cl
mov dword [esp + 0x29c], ecx
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x29c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041cc10
mov eax, dword [esp + 0x3c]
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x2bdbbcef
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041cc10
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub ecx, eax
setl byte [esp + 0x27]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1fd9e2ce
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc17dd8b0
setl cl
mov dword [esp + 0x204], ecx
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x204]
mov ecx, dword [ecx + edx*4]
jmp ecx