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

Disassembly:
mov eax, dword [0xcf481c]
sub esp, 0xde0
test eax, eax
push ebx
push ebp
push esi
push edi
je 0x53be1d
mov eax, dword [0xcf4870]
test eax, eax
jne 0x53b444
mov eax, dword [0xa4f274]
push 0
push 0
push 0xcf4874
push 0xa257d8
push 0
test eax, eax
push 0
je 0x53b432
push str..BitmapsInterfaceWSA_shop.wsa
jmp 0x53b437
push str..BitmapsInterfaceWSANotBig5_shop.wsa
call fcn.005a5e90
add esp, 0x1c
mov dword [0xcf4870], eax
mov ecx, dword [0xcf4874]
mov edx, dword [eax]
push ecx
push edx
push 0
push 0
call dword [0xd36aac]
lea eax, [esp + 0x60]
mov edi, 0xcf50ac
push eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0xcf50ac
call fcn.005a9050
mov eax, dword [esp + 0x6c]
mov ecx, 0xb8
cdq
sub eax, edx
push 0xff
sar eax, 1
sub ecx, eax
push 0x1f
push ecx
push 0xcf50ac
call fcn.0047af10
mov eax, dword [0xcf4870]
mov edx, dword [0xcf4874]
push edx
mov ecx, dword [eax + 8]
push ecx
push 0
push 0
call dword [0xd36aac]
mov eax, dword [0xcf4870]
mov edx, dword [0xcf4874]
push edx
mov ecx, dword [eax + 0x10]
push ecx
push 0
push 0
call dword [0xd36aac]
mov eax, dword [0xcf4870]
mov edx, dword [0xcf4874]
add esp, 0x4c
mov ecx, dword [eax + 0x18]
push edx
push ecx
push 0
push 0
call dword [0xd36aac]
mov edx, dword [0xcf4874]
mov eax, dword [0xcf50cc]
mov ecx, dword [0xcf4870]
push edx
mov edx, dword [ecx + eax*8 + 4]
push edx
push 0
push 0
call dword [0xd36aac]
mov eax, dword [0xcf95d4]
mov ecx, dword [0xcf95d0]
add esp, 0x20
push eax
push ecx
push 0xcf50d0
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x53b7c1
mov eax, dword [0xcf50e4]
test eax, eax
jne 0x53b7c1
mov ecx, dword [0xcf95d4]
mov ebp, dword [0xcf50d4]
sub ecx, ebp
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0xcf50cc]
lea ecx, [eax + eax*2]
mov eax, dword [0xcf50d0]
lea edx, [edx + ecx*4]
mov ecx, dword [0xcf95d0]
sub ecx, eax
mov eax, 0x8d3dcb09
lea esi, [edx + edx*4]
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
lea esi, [edx + esi*2]
mov dword [esp + 0x24], esi
cmp word [esi*4 + 0xcf4878], 0xffff
jne 0x53b5ad
xor ecx, ecx
mov cx, word [esi*4 + 0xcf487a]
mov dword [esp + 0x24], ecx
mov esi, ecx
xor edi, edi
mov ecx, 0xced988
mov di, word [esi*4 + 0xcf4878]
push edi
mov dword [esp + 0x1c], edi
call fcn.0053bf30
test eax, eax
je 0x53b7c9
mov eax, esi
mov ecx, 0xa
cdq
idiv ecx
mov eax, dword [0xcf50cc]
mov dword [esp + 0x10], edx
lea edx, [eax + eax*2]
shl edx, 2
mov eax, 0x66666667
mov ecx, edx
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0xced9a4]
mov ebx, edx
sub ebx, ecx
test eax, eax
jne 0x53b62b
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 dword [esp + 0x1c4], edi
mov dword [esp + 0x10e], ecx
lea esi, [esp + 0x94]
mov dword [esp + 0x112], ecx
lea edi, [esp + 0x1c8]
mov dword [esp + 0x116], ecx
lea edx, [esp + 0x1c4]
mov byte [esp + 0x11a], cl
mov ecx, 0x4c
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x1c]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
lea esi, [esp + 0x94]
lea edi, [esp + 0x1c8]
mov eax, dword [ecx]
mov ebp, dword [eax + 0x78]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
xor eax, eax
mov dword [esp + 0x10e], eax
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x112], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x116], eax
mov ecx, 0x4c
mov byte [esp + 0x11a], al
lea edx, [esp + 0x1c4]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x1c]
push edx
push eax
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov edi, dword [esp + 0x10]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
lea ecx, [ebx*8]
mov eax, dword [eax + 0x74]
sub ecx, ebx
mov dword [esp + 0x2c], edx
mov edx, dword [0xcf50d4]
lea ecx, [ebx + ecx*4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ecx
lea ebx, [ecx + edx]
xor edx, edx
cmp ebp, edx
jle 0x53b780
lea ecx, [edi*8]
mov dword [esp + 0x10], ebp
sub ecx, edi
lea edx, [edi + ecx*4]
mov dword [esp + 0x1c], edx
mov ecx, dword [0xcf50d0]
mov edx, dword [esp + 0x1c]
test eax, eax
lea esi, [edx + ecx]
jle 0x53b76c
mov ebp, eax
mov eax, dword [0xceda1c]
mov edx, dword [0xced9e0]
push 0xff
mov ecx, dword [eax]
mov eax, dword [0xced9a4]
push ecx
push edx
mov ecx, dword [eax]
push ecx
push ebx
push esi
call dword [0xd36acc]
add esp, 0x18
add esi, 0x1d
dec ebp
jne 0x53b73b
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
add ebx, 0x1d
dec ecx
mov dword [esp + 0x10], ecx
jne 0x53b728
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
push edx
mov edx, dword [0xcf50d4]
lea eax, [edi*8]
add ecx, edx
sub eax, edi
push ecx
mov ecx, dword [0xcf50d0]
add ecx, edi
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x38]
push edx
push eax
push ecx
mov ecx, 0xced988
call fcn.00534870
jmp 0x53b7c9
mov dword [esp + 0x24], 0xffffffff
mov eax, dword [0xcf50cc]
xor esi, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
mov edx, eax
xor ebp, ebp
imul edx, edx, 0x78
add edx, esi
mov bp, word [edx*4 + 0xcf4878]
cmp ebp, 0xffff
je 0x53bc49
push ebp
mov ecx, 0xced988
call fcn.0053bf30
test eax, eax
mov eax, dword [0xcf50cc]
je 0x53bc49
imul eax, eax, 0x78
mov ecx, dword [esp + 0x24]
add eax, esi
cmp eax, ecx
je 0x53ba05
push 1
push ebp
call fcn.0053bfa0
add esp, 8
test eax, eax
jne 0x53ba05
xor ecx, ecx
lea esi, [esp + 0x6c0]
mov dword [esp + 0x73a], ecx
lea edi, [esp + 0xcc0]
mov dword [esp + 0x73e], ecx
mov dword [esp + 0xcbc], ebp
mov dword [esp + 0x742], ecx
lea edx, [esp + 0xcbc]
mov byte [esp + 0x746], cl
mov ecx, 0x4c
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x84]
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 + 0x84]
test ecx, ecx
mov dword [esp + 0x20], edx
je 0x53ba05
mov eax, dword [0xced9a0]
test eax, eax
jne 0x53b8cf
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 eax, eax
mov ecx, 0x4c
mov dword [esp + 0x60a], eax
lea esi, [esp + 0x590]
mov dword [esp + 0x60e], eax
lea edi, [esp + 0x924]
mov dword [esp + 0x612], eax
mov dword [esp + 0x920], ebp
mov byte [esp + 0x616], al
lea edx, [esp + 0x7c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x920]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
lea esi, [esp + 0x460]
lea edi, [esp + 0xb8c]
mov dword [esp + 0xb88], ebp
mov eax, dword [ecx]
mov ebx, dword [eax + 0x78]
mov edx, dword [ecx + 4]
xor eax, eax
mov ecx, 0x4c
mov dword [esp + 0x4da], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x4de], eax
lea edx, [esp + 0x8c]
mov dword [esp + 0x4e2], eax
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x4e6], al
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xb88]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
test ebx, ebx
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov edi, dword [eax + 0x74]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], edi
jle 0x53ba05
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
test edi, edi
jle 0x53b9f7
xor esi, esi
mov ecx, dword [0xceda18]
mov eax, dword [0xced9dc]
push 0xff
mov edx, dword [ecx]
mov ecx, dword [0xced9a0]
push edx
push eax
mov edx, dword [ecx]
mov eax, dword [0xcf50d4]
push edx
mov edx, dword [0xcf50d0]
lea ecx, [ebx + eax]
lea eax, [esi + edx]
mov edx, dword [esp + 0x28]
add eax, edx
push ecx
push eax
call dword [0xd36acc]
add esp, 0x18
add esi, 0x1d
dec edi
jne 0x53b9ae
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add ebx, 0x1d
dec eax
mov dword [esp + 0x1c], eax
jne 0x53b9a8
xor ecx, ecx
lea esi, [esp + 0x7f0]
mov dword [esp + 0x86a], ecx
lea edi, [esp + 0xa58]
mov dword [esp + 0x86e], ecx
mov dword [esp + 0xa54], ebp
mov dword [esp + 0x872], ecx
lea edx, [esp + 0xa54]
mov byte [esp + 0x876], cl
mov ecx, 0x4c
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x48]
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]
mov dword [esp + 0x20], edx
mov eax, dword [ebx*4 + 0xa43b20]
test eax, eax
je 0x53ba7b
cmp dword [eax], 0
jne 0x53bb50
mov eax, dword [str..BitmapsItem_]
mov ecx, dword [0x656008]
mov edx, dword [0x65600c]
mov dword [esp + 0x94], eax
mov eax, dword [0x656010]
mov dword [esp + 0x98], ecx
mov dword [esp + 0xa0], eax
mov ecx, 0x3c
xor eax, eax
lea edi, [esp + 0xa4]
mov dword [esp + 0x9c], edx
push 0xa
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x5c]
push ecx
push ebx
call fcn.0061d6c5
mov edi, str..wsa
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x64]
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 + 0xa4]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x6c]
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 + 0xb4]
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 0x53bb88
mov edx, dword [ebx*4 + 0xa2e594]
mov ecx, dword [0xcf50d4]
mov eax, dword [eax]
push edx
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [0xcf50d0]
add ecx, edx
push ecx
mov ecx, dword [esp + 0x24]
add eax, ecx
push eax
call dword [0xd36aac]
add esp, 0x10
mov eax, dword [0xcf50cc]
mov esi, dword [esp + 0x14]
mov edx, eax
mov ecx, dword [esp + 0x24]
imul edx, edx, 0x78
add edx, esi
cmp edx, ecx
jne 0x53bc45
xor eax, eax
mov ecx, 0x4c
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x23e], eax
mov dword [esp + 0x242], eax
lea esi, [esp + 0x1c4]
mov dword [esp + 0x246], eax
lea edi, [esp + 0x330]
mov byte [esp + 0x24a], al
mov dword [esp + 0x32c], ebp
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x32c]
lea edx, [esp + 0x30]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
xor ecx, ecx
mov cx, word [eax + 0xe2]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [0xcf50d4]
add edx, eax
push ecx
mov ecx, dword [0xcf50d0]
push edx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x44]
add ecx, edx
push ecx
push eax
push ebp
mov ecx, 0xced988
call fcn.00534870
mov eax, dword [0xcf50cc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add ecx, 0x1d
cmp ecx, 0x122
mov dword [esp + 0x18], ecx
jl 0x53bc6f
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], 0
add ecx, 0x1d
mov dword [esp + 0x10], ecx
inc esi
cmp esi, 0x78
mov dword [esp + 0x14], esi
jl 0x53b7dc
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x14], ebx
jmp 0x53bc8c
mov eax, dword [0xcf50cc]
imul eax, eax, 0x78
mov edx, dword [esp + 0x14]
xor esi, esi
add eax, edx
xor edi, edi
shl eax, 2
mov si, word [eax + 0xcf4878]
mov di, word [eax + 0xcf487a]
cmp esi, 0xffff
jne 0x53bcc8
xor esi, esi
xor ecx, ecx
mov cx, word [edi*4 + 0xcf487a]
mov si, word [edi*4 + 0xcf4878]
mov edi, ecx
mov edx, dword [0xcf50d4]
mov ecx, dword [0xcf50d0]
add ecx, ebx
lea eax, [edx + ebp]
lea edx, [eax + 0x1d]
push edx
lea edx, [ecx + 0x1d]
push edx
push eax
lea eax, [esp + 0x78]
push ecx
push eax
call dword [sym.imp.USER32.dll_SetRect]
cmp esi, 0xffff
je 0x53bd37
push esi
mov ecx, 0xced988
call fcn.0053bf30
test eax, eax
je 0x53bd37
mov ecx, dword [0xcf95d4]
mov edx, dword [0xcf95d0]
push ecx
lea eax, [esp + 0x70]
push edx
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x53bd37
mov eax, dword [0xcf50e4]
test eax, eax
jne 0x53bd37
push edi
push 0xffffffffffffffff
push esi
call fcn.0047b6d0
add esp, 0xc
add ebx, 0x1d
cmp ebx, 0x122
jl 0x53bd47
xor ebx, ebx
add ebp, 0x1d
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0x78
mov dword [esp + 0x14], eax
jl 0x53bc87
mov eax, dword [0xcf4e20]
test eax, eax
jne 0x53bd6b
mov eax, dword [0xcf4e18]
test eax, eax
je 0x53bdcf
mov ecx, dword [0xcf4868]
mov edx, dword [0xcf4874]
push edx
mov eax, dword [ecx + 0x80]
test eax, eax
mov eax, dword [0xcf4870]
je 0x53bd8c
mov ecx, dword [eax + 0x20]
jmp 0x53bd8f
mov ecx, dword [eax + 0x1c]
push ecx
push 0
push 0
call dword [0xd36aac]
mov edx, dword [0xcf4868]
mov ecx, dword [0xcf4870]
add esp, 0x10
mov eax, dword [edx + 0x9c]
test eax, eax
mov eax, dword [0xcf4874]
push eax
je 0x53bdbe
mov edx, dword [ecx + 0x28]
jmp 0x53bdc1
mov edx, dword [ecx + 0x24]
push edx
push 0
push 0
call dword [0xd36aac]
add esp, 0x10
mov eax, dword [0xcf4864]
test eax, eax
je 0x53bdf7
mov ecx, dword [0xcf4870]
mov eax, dword [0xcf4874]
push eax
mov eax, dword [0xcf4804]
mov edx, dword [ecx + 0x30]
mov ecx, dword [0xcf4800]
push edx
push eax
push ecx
jmp 0x53be14
mov eax, dword [0xcf4870]
mov edx, dword [0xcf4874]
push edx
mov edx, dword [0xcf4804]
mov ecx, dword [eax + 0x2c]
mov eax, dword [0xcf4800]
push ecx
push edx
push eax
call dword [0xd36aac]
add esp, 0x10
mov eax, dword [0xcf50e4]
test eax, eax
je 0x53bf24
mov ecx, dword [0xcf50e8]
mov edx, dword [0x647e94]
mov ebx, dword [0xced998]
push ecx
push eax
mov eax, dword [0xced99c]
sub edx, eax
mov eax, dword [0x647e90]
sub eax, ebx
push edx
push eax
call dword [0xd36aac]
mov ecx, dword [0xcf474c]
add esp, 0x10
push ecx
mov ecx, 0xced988
call fcn.0053bf30
test eax, eax
je 0x53bf24
mov eax, dword [0xcf474c]
xor edx, edx
mov dword [esp + 0x23e], edx
mov ecx, 0x4c
mov dword [esp + 0x242], edx
lea esi, [esp + 0x1c4]
mov dword [esp + 0x246], edx
lea edi, [esp + 0x330]
mov byte [esp + 0x24a], dl
mov dword [esp + 0x32c], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x32c]
lea edx, [esp + 0x30]
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 + 0x4c], edx
jle 0x53bf24
mov ecx, dword [0xcf4750]
lea eax, [esp + 0x2f8]
push 0xa
push eax
push ecx
call fcn.0061d6c5
mov edx, dword [0x647e94]
mov ebp, dword [0xced99c]
mov eax, dword [0x647e90]
mov edi, dword [0xced998]
sub edx, ebp
push 0x8dd885
sub eax, edi
push edx
lea ecx, [esp + 0x30c]
push eax
push ecx
call fcn.0047af10
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xde0
ret