Function at 0x57c420
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xdcc
mov eax, dword [0xced1f4]
push ebx
push ebp
push esi
xor esi, esi
push edi
cmp eax, esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], esi
je 0x57dac8
mov ecx, dword [0xced248]
mov eax, dword [0xced24c]
push eax
mov edx, dword [ecx]
push edx
push esi
push esi
call dword [0xd36aac]
mov eax, dword [0xced24c]
mov ecx, dword [0xced248]
add esp, 0x10
mov edi, 5
cmp word [0xd1108c], di
push eax
jne 0x57c47a
mov edx, dword [ecx + 8]
jmp 0x57c47d
mov edx, dword [ecx + 4]
push edx
push esi
push esi
call dword [0xd36aac]
mov ax, word [0xd0696c]
add esp, 0x10
cmp ax, di
je 0x57c4bd
cmp ax, 6
je 0x57c4bd
mov eax, dword [0xced240]
mov edx, dword [0xced248]
mov ecx, dword [eax + 0x6c]
cmp ecx, esi
mov ecx, dword [0xced24c]
push ecx
je 0x57c4b8
mov eax, dword [edx + 0x10]
jmp 0x57c4cd
mov eax, dword [edx + 0xc]
jmp 0x57c4cd
mov edx, dword [0xced248]
mov ecx, dword [0xced24c]
push ecx
mov eax, dword [edx + 0x34]
push eax
push esi
push esi
call dword [0xd36aac]
mov ax, word [0xd0696c]
add esp, 0x10
cmp ax, di
je 0x57c510
cmp ax, 6
je 0x57c510
mov ecx, dword [0xced240]
mov edx, dword [0xced24c]
push edx
mov eax, dword [ecx + 0xc0]
cmp eax, esi
mov eax, dword [0xced248]
je 0x57c50b
mov ecx, dword [eax + 0x18]
jmp 0x57c51f
mov ecx, dword [eax + 0x14]
jmp 0x57c51f
mov eax, dword [0xced248]
mov edx, dword [0xced24c]
push edx
mov ecx, dword [eax + 0x1c]
push ecx
push esi
push esi
call dword [0xd36aac]
add esp, 0x10
cmp word [0xd0696c], di
jne 0x57c563
cmp word [0xd1108c], di
jne 0x57c563
mov edx, dword [0xced240]
mov ecx, dword [0xced248]
mov eax, dword [edx + 0xdc]
cmp eax, esi
mov eax, dword [0xced24c]
push eax
je 0x57c55e
mov edx, dword [ecx + 0x24]
jmp 0x57c572
mov edx, dword [ecx + 0x20]
jmp 0x57c572
mov ecx, dword [0xced248]
mov eax, dword [0xced24c]
push eax
mov edx, dword [ecx + 0x28]
push edx
push esi
push esi
call dword [0xd36aac]
mov eax, dword [0xced23c]
add esp, 0x10
cmp eax, esi
je 0x57c5a6
mov ecx, dword [0xced248]
mov eax, dword [0xced24c]
push eax
mov eax, dword [0xced1dc]
mov edx, dword [ecx + 0x30]
mov ecx, dword [0xced1d8]
push edx
push eax
push ecx
jmp 0x57c5c3
mov eax, dword [0xced248]
mov edx, dword [0xced24c]
push edx
mov edx, dword [0xced1dc]
mov ecx, dword [eax + 0x2c]
mov eax, dword [0xced1d8]
push ecx
push edx
push eax
call dword [0xd36aac]
mov ecx, dword [0xd05914]
add esp, 0x10
lea edx, [esp + 0x70]
push ecx
push 0x645a20
push edx
call fcn.006133d6
mov al, byte [0x648701]
push eax
push 0xb
push 0x6486dc
push 0xb
push str.Arial
call fcn.005a7f50
push 2
push 0xff
push 0x19d
lea ecx, [esp + 0x9c]
push 0x8b
push ecx
call fcn.0057ecd0
mov dl, byte [0x648701]
push edx
push 0xc
push 0x6486dc
push 0xc
push str.Arial
call fcn.005a7f50
add esp, 0x48
lea eax, [esp + 0x54]
mov edi, 0xd0696e
or ecx, 0xffffffff
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0xd0696e
call fcn.005a9050
mov eax, dword [esp + 0x60]
mov ecx, 0xb8
cdq
sub eax, edx
push 0xff
sar eax, 1
sub ecx, eax
push 0xe9
push ecx
push 0xd0696e
call fcn.0047af10
mov edx, dword [0xd10034]
lea eax, [esp + 0x8c]
push edx
push 0x645a20
push eax
call fcn.006133d6
mov cl, byte [0x648701]
push ecx
push 0xb
push 0x6486dc
push 0xb
push str.Arial
call fcn.005a7f50
push 2
push 0xff
push 0xd6
lea edx, [esp + 0xb8]
push 0x79
push edx
call fcn.0057ecd0
mov al, byte [0x648701]
add esp, 0x50
push eax
push 0xc
push 0x6486dc
push 0xc
push str.Arial
call fcn.005a7f50
lea ecx, [esp + 0x68]
push ecx
mov edi, 0xd1108e
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0xd1108e
call fcn.005a9050
mov eax, dword [esp + 0x74]
push 0xff
cdq
sub eax, edx
mov edx, 0xb8
sar eax, 1
sub edx, eax
push 0x23
push edx
push 0xd1108e
call fcn.0047af10
mov esi, dword [0xcf95d0]
mov edi, dword [0xced998]
mov ecx, dword [0xced99c]
sub esi, edi
mov edi, dword [0xcf95d4]
add esp, 0x30
sub edi, ecx
add esi, 0xf
add edi, 0xf
push edi
push esi
push 0xd0695c
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x57cbd7
mov ecx, dword [0xd0695c]
mov eax, 0x8d3dcb09
sub esi, ecx
mov ecx, dword [0xd06960]
imul esi
add edx, esi
sub edi, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x8d3dcb09
mov ebx, edx
imul edi
mov eax, dword [0xcf50e4]
add edx, edi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
test eax, eax
mov ebp, edx
je 0x57cbd7
mov eax, dword [0xcf474c]
test eax, eax
mov dword [esp + 0x10], eax
jle 0x57cbd7
mov edx, eax
mov ecx, 0xced988
push edx
call fcn.0053bf30
test eax, eax
je 0x57cbd7
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x112], eax
mov dword [esp + 0x310], ecx
mov dword [esp + 0x116], eax
mov ecx, 0x4c
mov dword [esp + 0x11a], eax
lea esi, [esp + 0x98]
lea edi, [esp + 0x314]
mov byte [esp + 0x11e], al
lea edx, [esp + 0x310]
lea eax, [esp + 0x4c]
rep movsd dword es:[edi], dword [esi]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
lea esi, [esp + 0x98]
lea edi, [esp + 0x314]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
xor ecx, ecx
mov eax, dword [eax + 0x74]
mov dword [esp + 0x112], ecx
mov dword [esp + 0x116], ecx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x11a], ecx
mov byte [esp + 0x11e], cl
mov ecx, 0x4c
mov dword [esp + 0x310], edx
mov dword [esp + 0x18], eax
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x310]
lea ecx, [esp + 0x4c]
push eax
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
xor edi, edi
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov esi, dword [eax + 0x78]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x38]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push esi
push ecx
push ebp
push ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x50], edi
call fcn.0057eda0
add esp, 0x18
cmp eax, edi
jne 0x57c94c
mov eax, dword [esp + 0x38]
sub ebx, eax
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x57c8d4
sub ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x38]
push edx
push eax
push esi
push edi
push ebp
push ebx
call fcn.0057eda0
add esp, 0x18
test eax, eax
jne 0x57c94c
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add ebx, edx
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x57c908
sub ebx, dword [esp + 0x38]
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x38]
push ecx
push edx
push esi
push edi
push ebp
push ebx
call fcn.0057eda0
add esp, 0x18
test eax, eax
jne 0x57c94c
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
sub ebx, eax
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x38]
push eax
push ecx
sub ebp, edx
push esi
push edi
push ebp
push ebx
call fcn.0057eda0
add esp, 0x18
test eax, eax
je 0x57cbd7
mov eax, dword [0xced9a4]
test eax, eax
jne 0x57c979
push 0
push 0xceda1c
push 0xced9e0
push 0
push 0
push 0
push str..BitmapsInterfaceWSAgreen.wsa
call fcn.005a5e90
add esp, 0x1c
mov dword [0xced9a4], eax
mov eax, dword [0xd06960]
lea edx, [ebp*8]
sub edx, ebp
add eax, ebp
lea esi, [esp + 0x98]
lea edi, [esp + 0x578]
lea ecx, [eax + edx*4]
mov eax, dword [0xd0695c]
lea edx, [ebx*8]
add eax, ebx
sub edx, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], 0
lea ecx, [eax + edx*4]
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x112], edx
mov ecx, 0x4c
mov dword [esp + 0x116], edx
mov dword [esp + 0x574], eax
mov dword [esp + 0x11a], edx
mov byte [esp + 0x11e], dl
lea edx, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x574]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x78]
test ecx, ecx
mov dword [esp + 0x28], edx
jle 0x57cbd7
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x25a], eax
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x25e], eax
mov dword [esp + 0x310], ecx
mov dword [esp + 0x262], eax
mov ecx, 0x4c
lea esi, [esp + 0x1e0]
lea edi, [esp + 0x314]
mov byte [esp + 0x266], al
lea edx, [esp + 0x310]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x44]
push edx
push eax
mov ecx, 0xced988
xor ebp, ebp
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x74]
test ecx, ecx
mov dword [esp + 0x28], edx
jle 0x57cb58
mov eax, dword [0xced9a4]
mov ecx, dword [eax]
test ecx, ecx
je 0x57cac0
mov edx, dword [0xceda1c]
mov eax, dword [edx]
test eax, eax
je 0x57cac0
push 0xff
push eax
mov eax, dword [0xced9e0]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push ecx
push ebx
call dword [0xd36acc]
add esp, 0x18
jmp 0x57cae9
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x57cae9
mov edx, dword [0xa2af98]
push 0
push str.Show_green.wsa
push str.Please_record_you_operation_and_this_title_
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [esp + 0x20], 1
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x25a], eax
mov dword [esp + 0x310], ecx
mov dword [esp + 0x25e], eax
mov ecx, 0x4c
mov dword [esp + 0x262], eax
lea esi, [esp + 0x1e0]
lea edi, [esp + 0x314]
mov byte [esp + 0x266], al
lea edx, [esp + 0x310]
lea eax, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
push edx
add ebx, 0x1d
push eax
mov ecx, 0xced988
inc ebp
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x74]
cmp ebp, ecx
mov dword [esp + 0x28], edx
jl 0x57ca8b
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor eax, eax
add ebx, 0x1d
mov dword [esp + 0x112], eax
mov dword [esp + 0x574], ecx
mov dword [esp + 0x116], eax
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x11a], eax
mov ecx, 0x4c
lea esi, [esp + 0x98]
lea edi, [esp + 0x578]
mov byte [esp + 0x11e], al
lea edx, [esp + 0x574]
lea eax, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
inc ebx
push edx
push eax
mov ecx, 0xced988
mov dword [esp + 0x24], ebx
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x78]
cmp ebx, ecx
mov dword [esp + 0x28], edx
jl 0x57ca1a
xor eax, eax
mov ebp, 0xd05918
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov ax, word [ebp]
test ax, ax
je 0x57ce50
cmp ax, 0xffff
je 0x57ce50
and eax, 0xffff
mov ecx, 0xced988
push eax
call fcn.0053bf30
test eax, eax
je 0x57ce50
xor eax, eax
xor ecx, ecx
mov cx, word [ebp]
mov dword [esp + 0x112], eax
mov dword [esp + 0x116], eax
mov dword [esp + 0x310], ecx
mov dword [esp + 0x11a], eax
mov ecx, 0x4c
lea esi, [esp + 0x98]
lea edi, [esp + 0x314]
mov byte [esp + 0x11e], al
lea edx, [esp + 0x310]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x4c]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
xor ebx, ebx
mov eax, dword [ecx]
mov bx, word [eax + 0x5c]
mov edx, dword [ecx + 4]
test ebx, ebx
mov dword [esp + 0x48], edx
jle 0x57ce50
mov eax, dword [ebx*4 + 0xa43b20]
test eax, eax
jne 0x57cd69
mov eax, dword [str..BitmapsItem_]
mov ecx, dword [0x656008]
mov edx, dword [0x65600c]
mov dword [esp + 0x1e0], eax
mov eax, dword [0x656010]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1ec], eax
mov ecx, 0x3d
xor eax, eax
lea edi, [esp + 0x1f0]
mov dword [esp + 0x1e8], edx
push 0xa
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x60]
push ecx
push ebx
call fcn.0061d6c5
mov edi, str..wsa
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x68]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x1f0]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x70]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebx*4 + 0xa2e594]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
push 0xa257d8
push 0
lea ecx, [esp + 0x200]
push 0
push ecx
call fcn.005a5e90
add esp, 0x28
mov dword [ebx*4 + 0xa43b20], eax
mov eax, dword [ebx*4 + 0xa43b20]
test eax, eax
je 0x57cda1
mov edx, dword [ebx*4 + 0xa2e594]
mov ecx, dword [0xd06960]
mov eax, dword [eax]
push edx
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [0xd0695c]
add ecx, edx
push ecx
mov ecx, dword [esp + 0x1c]
add eax, ecx
push eax
call dword [0xd36aac]
add esp, 0x10
xor edx, edx
xor eax, eax
mov ax, word [ebp]
mov dword [esp + 0x4be], edx
mov dword [esp + 0x4c2], edx
mov ecx, 0x4c
mov dword [esp + 0x4c6], edx
lea esi, [esp + 0x444]
lea edi, [esp + 0x578]
mov byte [esp + 0x4ca], dl
mov dword [esp + 0x574], eax
lea edx, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x574]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x108]
cmp ecx, 1
mov dword [esp + 0x48], edx
jle 0x57ce50
xor ecx, ecx
lea eax, [esp + 0x70]
mov cx, word [ebp + 2]
push 0xa
push eax
push ecx
call fcn.0061d6c5
mov edx, dword [0xd06960]
mov eax, dword [esp + 0x20]
mov ecx, dword [0xd0695c]
add edx, eax
push 0xffff00
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x84]
add ecx, edx
push ecx
push eax
call fcn.0047af10
add esp, 0x1c
mov eax, dword [esp + 0x10]
add eax, 0x1d
cmp eax, 0x122
mov dword [esp + 0x10], eax
jl 0x57ce75
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], 0
add eax, 0x1d
mov dword [esp + 0x14], eax
add ebp, 6
cmp ebp, 0xd05a44
jl 0x57cbe6
mov ecx, dword [0xcf95d4]
mov edx, dword [0xcf95d0]
push ecx
push edx
push 0xd0695c
mov dword [esp + 0x28], 0xffffffff
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x57d1b6
mov ecx, dword [0xcf95d4]
mov eax, dword [0xd06960]
sub ecx, eax
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
mov ecx, dword [0xcf95d0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x8d3dcb09
lea esi, [edx + edx*4]
mov edx, dword [0xd0695c]
sub ecx, edx
imul ecx
add edx, ecx
mov eax, dword [0xcf50e4]
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
test eax, eax
lea edx, [edx + esi*2]
mov dword [esp + 0x1c], edx
jne 0x57d1b6
lea eax, [edx + edx*2]
shl eax, 1
cmp word [eax + 0xd05918], 0xffff
jne 0x57cf22
xor edx, edx
mov dx, word [eax + 0xd0591a]
mov dword [esp + 0x1c], edx
lea edx, [edx + edx*2]
xor eax, eax
mov ax, word [edx*2 + 0xd05918]
test eax, eax
mov dword [esp + 0x10], eax
jle 0x57d1b6
push eax
mov ecx, 0xced988
call fcn.0053bf30
test eax, eax
je 0x57d1b6
mov ecx, dword [esp + 0x1c]
mov esi, 0xa
mov eax, ecx
cdq
idiv esi
mov eax, 0x66666667
mov ebx, edx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0xced9a4]
test eax, eax
mov ebp, edx
jne 0x57cf9e
push 0
push 0xceda1c
push 0xced9e0
push 0
push 0
push 0
push str..BitmapsInterfaceWSAgreen.wsa
call fcn.005a5e90
add esp, 0x1c
mov dword [0xced9a4], eax
xor ecx, ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x4be], ecx
lea esi, [esp + 0x444]
mov dword [esp + 0x4c2], ecx
lea edi, [esp + 0x314]
mov dword [esp + 0x4c6], ecx
mov dword [esp + 0x310], edx
mov byte [esp + 0x4ca], cl
mov ecx, 0x4c
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x310]
lea ecx, [esp + 0x4c]
push eax
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
lea esi, [esp + 0x444]
lea edi, [esp + 0x314]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [eax + 0x78]
xor eax, eax
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4be], eax
mov dword [esp + 0x4c2], eax
mov dword [esp + 0x310], ecx
mov dword [esp + 0x4c6], eax
mov dword [esp + 0x30], edx
mov ecx, 0x4c
mov byte [esp + 0x4ca], al
lea edx, [esp + 0x310]
lea eax, [esp + 0x4c]
rep movsd dword es:[edi], dword [esi]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov eax, dword [eax + 0x74]
lea ecx, [ebp*8]
mov dword [esp + 0x3c], eax
sub ecx, ebp
lea eax, [ebx*8]
mov dword [esp + 0x48], edx
mov edx, dword [0xd06960]
lea ebp, [ebp + ecx*4]
mov ecx, dword [0xd0695c]
sub eax, ebx
add ecx, ebx
mov dword [esp + 0x24], ebp
add ebp, edx
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x14], edx
jle 0x57d146
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
jmp 0x57d0c3
mov ebx, dword [esp + 0x20]
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
test eax, eax
jle 0x57d134
mov dword [esp + 0x30], eax
mov ecx, dword [0xced9a4]
mov ecx, dword [ecx]
test ecx, ecx
je 0x57d105
mov edx, dword [0xceda1c]
mov eax, dword [edx]
test eax, eax
je 0x57d105
push 0xff
push eax
mov eax, dword [0xced9e0]
push eax
push ecx
push ebp
push esi
call dword [0xd36acc]
add esp, 0x18
jmp 0x57d122
test ebx, ebx
jne 0x57d122
mov ecx, dword [0xa2af98]
push ebx
push str.Show_green.wsa
push str.Please_record_you_operation_and_this_title_
push ecx
call edi
mov ebx, 1
mov eax, dword [esp + 0x30]
add esi, 0x1d
dec eax
mov dword [esp + 0x30], eax
jne 0x57d0d3
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x18]
add ebp, 0x1d
dec eax
mov dword [esp + 0x18], eax
jne 0x57d0b9
mov edx, dword [esp + 0x1c]
xor eax, eax
lea ecx, [esp + 0x5c]
mov esi, 3
mov ax, word [edx*2 + 0xd068f6]
lea edx, [eax + eax*8]
lea edx, [eax + edx*8]
lea eax, [edx + 0xd05a67]
xor edi, edi
add ecx, 4
mov di, word [eax]
add eax, 2
mov dword [ecx - 4], edi
dec esi
jne 0x57d169
mov ecx, dword [esp + 0x24]
xor eax, eax
mov ax, word [edx + 0xd05a65]
mov edx, dword [0xd06960]
mov esi, dword [esp + 0x10]
add ecx, edx
push eax
mov eax, dword [esp + 0x18]
push ecx
lea ecx, [esp + 0x64]
push eax
push ecx
push esi
mov ecx, 0xced988
call fcn.00534870
mov dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x44], esi
xor eax, eax
mov dword [esp + 0x18], 0xd10038
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x18]
xor ebx, ebx
mov bx, word [edx]
test ebx, ebx
jle 0x57d420
cmp ebx, 0xffff
je 0x57d420
mov ecx, edx
xor eax, eax
mov ax, word [ecx + 4]
push eax
push ebx
call fcn.0053bfa0
add esp, 8
test eax, eax
jne 0x57d420
push ebx
mov ecx, 0xced988
call fcn.0053bf30
test eax, eax
je 0x57d420
xor edx, edx
mov ecx, 0x4c
mov dword [esp + 0x4be], edx
lea esi, [esp + 0x444]
mov dword [esp + 0x4c2], edx
lea edi, [esp + 0xb78]
mov dword [esp + 0x4c6], edx
mov dword [esp + 0xb74], ebx
mov byte [esp + 0x4ca], dl
lea eax, [esp + 0xb74]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x4c]
push eax
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x57d420
mov eax, dword [0xced9a0]
test eax, eax
jne 0x57d2a9
push 0
push 0xceda18
push 0xced9dc
push 0
push 0
push 0
push str..BitmapsInterfaceWSA_red.wsa
call fcn.005a5e90
add esp, 0x1c
mov dword [0xced9a0], eax
xor edx, edx
mov ecx, 0x4c
mov dword [esp + 0x112], edx
lea esi, [esp + 0x98]
mov dword [esp + 0x116], edx
lea edi, [esp + 0x7dc]
mov dword [esp + 0x11a], edx
mov dword [esp + 0x7d8], ebx
mov byte [esp + 0x11e], dl
lea eax, [esp + 0x7d8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1d8]
push eax
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
lea esi, [esp + 0x6a8]
lea edi, [esp + 0x910]
mov dword [esp + 0x90c], ebx
mov eax, dword [edx]
mov ecx, dword [edx + 4]
xor edx, edx
mov ebp, dword [eax + 0x78]
mov dword [esp + 0x722], edx
mov dword [esp + 0x726], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x72a], edx
mov ecx, 0x4c
mov byte [esp + 0x72e], dl
lea eax, [esp + 0x90c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1c8]
push eax
push ecx
mov ecx, 0xced988
call fcn.00474ae0
mov edx, eax
test ebp, ebp
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [eax + 0x74]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edx
jle 0x57d420
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x57d40e
xor esi, esi
mov dword [esp + 0x20], eax
mov eax, dword [0xced9a0]
mov ecx, dword [eax]
test ecx, ecx
je 0x57d3db
mov edx, dword [0xceda18]
mov eax, dword [edx]
test eax, eax
je 0x57d3db
push 0xff
push eax
mov eax, dword [0xced9dc]
push eax
mov eax, dword [0xd1107c]
push ecx
mov ecx, dword [0xd11080]
lea edx, [edi + ecx]
lea ecx, [esi + eax]
add ecx, ebx
push edx
push ecx
call dword [0xd36acc]
add esp, 0x18
jmp 0x57d3fc
test ebp, ebp
jne 0x57d3fc
mov edx, dword [0xa2af98]
push ebp
push str.Show_red.wsa
push str.Please_record_you_operation_and_this_title_
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ebp, 1
mov eax, dword [esp + 0x20]
add esi, 0x1d
dec eax
mov dword [esp + 0x20], eax
jne 0x57d397
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x3c]
add edi, 0x1d
dec eax
mov dword [esp + 0x3c], eax
jne 0x57d389
mov eax, dword [esp + 0x18]
mov ax, word [eax]
test ax, ax
je 0x57d6a2
cmp ax, 0xffff
je 0x57d6a2
and eax, 0xffff
mov ecx, 0xced988
push eax
call fcn.0053bf30
test eax, eax
je 0x57d6a2
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x5ee], ecx
xor edx, edx
mov dx, word [eax]
mov dword [esp + 0x5f2], ecx
mov dword [esp + 0x5f6], ecx
lea esi, [esp + 0x574]
mov byte [esp + 0x5fa], cl
mov ecx, 0x4c
lea edi, [esp + 0xa44]
mov dword [esp + 0xa40], edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xa40]
lea edx, [esp + 0x1d0]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
xor ebx, ebx
mov eax, dword [ecx]
mov bx, word [eax + 0x5c]
mov edx, dword [ecx + 4]
test ebx, ebx
mov dword [esp + 0x28], edx
jle 0x57d6a2
mov eax, dword [ebx*4 + 0xa43b20]
test eax, eax
jne 0x57d5b5
mov eax, dword [str..BitmapsItem_]
mov ecx, dword [0x656008]
mov edx, dword [0x65600c]
mov dword [esp + 0x1e0], eax
mov eax, dword [0x656010]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1ec], eax
mov ecx, 0x3d
xor eax, eax
lea edi, [esp + 0x1f0]
mov dword [esp + 0x1e8], edx
push 0xa
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x88]
push ecx
push ebx
call fcn.0061d6c5
mov edi, str..wsa
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x1f0]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x98]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [ebx*4 + 0xa2e594]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
push 0xa257d8
push 0
lea ecx, [esp + 0x200]
push 0
push ecx
call fcn.005a5e90
add esp, 0x28
mov dword [ebx*4 + 0xa43b20], eax
mov eax, dword [ebx*4 + 0xa43b20]
test eax, eax
je 0x57d5ed
mov edx, dword [ebx*4 + 0xa2e594]
mov ecx, dword [0xd11080]
mov eax, dword [eax]
push edx
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [0xd1107c]
add ecx, edx
push ecx
mov ecx, dword [esp + 0x1c]
add eax, ecx
push eax
call dword [0xd36aac]
add esp, 0x10
mov ecx, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x38a], edx
xor eax, eax
mov ax, word [ecx]
mov dword [esp + 0x38e], edx
mov dword [esp + 0x392], edx
mov ecx, 0x4c
mov byte [esp + 0x396], dl
lea esi, [esp + 0x310]
lea edi, [esp + 0xcac]
mov dword [esp + 0xca8], eax
lea edx, [esp + 0xca8]
lea eax, [esp + 0x5c]
rep movsd dword es:[edi], dword [esi]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x108]
cmp ecx, 1
mov dword [esp + 0x28], edx
jle 0x57d6a2
mov edx, dword [esp + 0x18]
xor ecx, ecx
lea eax, [esp + 0x70]
push 0xa
mov cx, word [edx + 2]
push eax
push ecx
call fcn.0061d6c5
mov eax, dword [0xd11080]
mov ecx, dword [esp + 0x20]
mov edx, dword [0xd1107c]
add eax, ecx
push 0xffff00
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x84]
add edx, eax
push edx
push ecx
call fcn.0047af10
add esp, 0x1c
mov eax, dword [esp + 0x10]
add eax, 0x1d
cmp eax, 0x122
mov dword [esp + 0x10], eax
jl 0x57d6c7
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], 0
add eax, 0x1d
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
add eax, 6
cmp eax, 0xd10164
mov dword [esp + 0x18], eax
jl 0x57d1c8
mov edx, dword [0xcf95d4]
mov eax, dword [0xcf95d0]
push edx
push eax
push 0xd1107c
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x57daad
mov eax, dword [0xcf50e4]
test eax, eax
jne 0x57daad
mov ecx, dword [0xcf95d4]
mov eax, dword [0xd11080]
sub ecx, eax
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
mov eax, 0x8d3dcb09
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [0xcf95d0]
lea esi, [edx + edx*4]
mov edx, dword [0xd1107c]
sub ecx, edx
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [edx + esi*2]
mov dword [esp + 0x1c], edx
lea eax, [edx + edx*2]
shl eax, 1
cmp word [eax + 0xd10038], 0xffff
jne 0x57d772
xor edx, edx
mov dx, word [eax + 0xd1003a]
mov dword [esp + 0x1c], edx
lea ecx, [edx + edx*2]
xor ebx, ebx
mov bx, word [ecx*2 + 0xd10038]
test ebx, ebx
jle 0x57daad
push ebx
mov ecx, 0xced988
call fcn.0053bf30
test eax, eax
je 0x57daad
mov ecx, dword [esp + 0x1c]
mov esi, 0xa
mov eax, ecx
cdq
idiv esi
mov eax, 0x66666667
mov esi, edx
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0xced9a4]
test eax, eax
mov edi, edx
jne 0x57d7ea
push 0
push 0xceda1c
push 0xced9e0
push 0
push 0
push 0
push str..BitmapsInterfaceWSAgreen.wsa
call fcn.005a5e90
add esp, 0x1c
mov dword [0xced9a4], eax
mov edx, dword [0xd11080]
lea ecx, [edi*8]
sub ecx, edi
lea eax, [esi*8]
sub eax, esi
mov dword [esp + 0x574], ebx
lea ebp, [edi + ecx*4]
mov ecx, dword [0xd1107c]
add edx, ebp
add ecx, esi
mov dword [esp + 0x14], edx
lea esi, [esp + 0x1e0]
lea edx, [ecx + eax*4]
xor eax, eax
mov dword [esp + 0x25a], eax
mov ecx, 0x4c
mov dword [esp + 0x25e], eax
lea edi, [esp + 0x578]
mov dword [esp + 0x262], eax
mov dword [esp + 0x18], edx
mov byte [esp + 0x266], al
lea edx, [esp + 0x4c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x574]
mov dword [esp + 0x24], ebp
push ecx
push edx
mov ecx, 0xced988
mov dword [esp + 0x44], 0
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x78]
test ecx, ecx
mov dword [esp + 0x34], edx
jle 0x57da54
xor eax, eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x112], eax
mov ecx, 0x4c
mov dword [esp + 0x116], eax
lea esi, [esp + 0x98]
mov dword [esp + 0x11a], eax
lea edi, [esp + 0x314]
mov byte [esp + 0x11e], al
mov dword [esp + 0x310], ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x310]
lea edx, [esp + 0x44]
push ecx
push edx
mov ecx, 0xced988
mov dword [esp + 0x18], 0
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x74]
test ecx, ecx
mov dword [esp + 0x34], edx
jle 0x57d9d5
mov eax, dword [0xced9a4]
mov ecx, dword [eax]
test ecx, ecx
je 0x57d935
mov edx, dword [0xceda1c]
mov eax, dword [edx]
test eax, eax
je 0x57d935
push 0xff
push eax
mov eax, dword [0xced9e0]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push ecx
push ebp
call dword [0xd36acc]
add esp, 0x18
jmp 0x57d95e
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x57d95e
mov edx, dword [0xa2af98]
push 0
push str.Show_green.wsa
push str.Please_record_you_operation_and_this_title_
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x10]
add ebp, 0x1d
inc eax
mov ecx, 0x4c
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x112], eax
lea esi, [esp + 0x98]
mov dword [esp + 0x116], eax
lea edi, [esp + 0x314]
mov dword [esp + 0x11a], eax
mov dword [esp + 0x310], ebx
mov byte [esp + 0x11e], al
lea edx, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x310]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x74]
cmp ecx, edx
jl 0x57d900
mov ebp, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x25a], edx
mov ecx, 0x4c
mov dword [esp + 0x25e], edx
lea esi, [esp + 0x1e0]
mov dword [esp + 0x262], edx
lea edi, [esp + 0x578]
add ebp, 0x1d
mov byte [esp + 0x266], dl
mov dword [esp + 0x574], ebx
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x3c]
lea eax, [esp + 0x574]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x4c]
push eax
inc ebp
push ecx
mov ecx, 0xced988
mov dword [esp + 0x44], ebp
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x78]
cmp ebp, ecx
jl 0x57d88d
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x5c]
lea edx, [esi + esi*8]
lea esi, [esi + edx*8]
mov edx, 3
lea eax, [esi + 0xd10187]
xor edi, edi
add ecx, 4
mov di, word [eax]
add eax, 2
mov dword [ecx - 4], edi
dec edx
jne 0x57da6d
mov ecx, dword [0xd11080]
mov edx, dword [esp + 0x18]
xor eax, eax
add ecx, ebp
mov ax, word [esi + 0xd10185]
push eax
push ecx
lea eax, [esp + 0x64]
push edx
push eax
push ebx
mov ecx, 0xced988
call fcn.00534870
mov eax, 0xfffffffd
jmp 0x57dab9
mov eax, dword [esp + 0x30]
test eax, eax
je 0x57dac8
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push ebx
call fcn.0047b6d0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xdcc
ret