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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x61387e
mov eax, dword fs:[0]
push eax
sub esp, 0x80
push ebx
push esi
push edi
mov eax, dword [0x6ea244]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x3c], esi
mov ebx, dword [ebp + 8]
xor edi, edi
mov ecx, ebx
mov dword [esp + 0x18], edi
call fcn.00531520
cmp eax, 0x7f
jle 0x52d376
cmp byte [ebp + 0x10], 0
je 0x52d35c
call fcn.0050aa80
cmp eax, edi
je 0x52d34e
mov edx, dword [eax]
push edi
mov ecx, eax
mov eax, dword [edx + 8]
push str.ICO:_Image_too_tall_for_an_icon.
call eax
push eax
call fcn.0050fb80
add esp, 4
xor al, al
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, str.ICO:_Image_too_tall_for_an_icon.
push eax
call fcn.0050fb80
add esp, 4
xor al, al
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, ebx
call fcn.00531500
cmp eax, 0xff
jle 0x52d3ed
cmp byte [ebp + 0x10], 0
je 0x52d35c
call fcn.0050aa80
cmp eax, edi
je 0x52d3c5
mov edx, dword [eax]
push edi
mov ecx, eax
mov eax, dword [edx + 8]
push str.ICO:_Image_too_wide_for_an_icon.
call eax
push eax
call fcn.0050fb80
add esp, 4
xor al, al
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, str.ICO:_Image_too_wide_for_an_icon.
push eax
call fcn.0050fb80
add esp, 4
xor al, al
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x14]
mov ebx, dword [ebp + 0xc]
xor ecx, ecx
cmp eax, 5
sete cl
xor edx, edx
mov word [esp + 0x4c], dx
mov edx, dword [ebx]
mov edx, dword [edx + 0x1c]
push 2
mov dword [esp + 0x20], 6
inc ecx
mov eax, ecx
mov dword [esp + 0x48], eax
mov word [esp + 0x52], ax
mov eax, 1
mov word [esp + 0x54], ax
lea eax, [esp + 0x50]
push eax
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 2
lea ecx, [esp + 0x52]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 2
lea ecx, [esp + 0x54]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 4]
mov ecx, ebx
call edx
test al, al
jne 0x52d4c9
cmp byte [ebp + 0x10], al
je 0x52d35c
call fcn.0050aa80
cmp eax, edi
je 0x52d4a1
mov edx, dword [eax]
push edi
mov ecx, eax
mov eax, dword [edx + 8]
push str.ICO:_Error_writing_the_image_file_
call eax
push eax
call fcn.0050fb80
add esp, 4
xor al, al
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, str.ICO:_Error_writing_the_image_file_
push eax
call fcn.0050fb80
add esp, 4
xor al, al
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [esp + 0x40], edi
lea ecx, [ecx]
xor edi, edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], vtable.wxImage.0
mov esi, dword [ebp + 8]
mov ecx, esi
mov dword [esp + 0x98], edi
call fcn.00531940
mov ecx, esi
test al, al
je 0x52d614
call fcn.00531900
movzx ecx, al
push ecx
mov ecx, esi
call fcn.005318e0
movzx edx, al
push edx
mov ecx, esi
call fcn.005318c0
movzx eax, al
push eax
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
call fcn.00532d20
lea edx, [esp + 0x54]
mov byte [esp + 0x98], 1
cmp edx, eax
je 0x52d53c
push eax
mov ecx, edx
call fcn.00502790
lea ecx, [esp + 0x5c]
mov byte [esp + 0x98], 0
mov dword [esp + 0x5c], vtable.wxObject.0
call fcn.005026b0
mov ecx, esi
call fcn.005318c0
mov ecx, esi
mov byte [esp + 0x15], al
call fcn.005318e0
mov ecx, esi
mov byte [esp + 0x16], al
call fcn.00531900
cmp byte [esp + 0x15], 0
mov byte [esp + 0x17], al
jne 0x52d58c
cmp byte [esp + 0x16], 0
jne 0x52d58c
test al, al
je 0x52d69d
lea ecx, [esp + 0x54]
xor edi, edi
call fcn.00531500
test eax, eax
jle 0x52d69d
nop
lea ecx, [esp + 0x54]
xor esi, esi
call fcn.00531520
test eax, eax
jle 0x52d601
nop
push esi
push edi
lea ecx, [esp + 0x5c]
call fcn.00531750
cmp byte [esp + 0x15], al
jne 0x52d5f3
push esi
push edi
lea ecx, [esp + 0x5c]
call fcn.00531780
cmp byte [esp + 0x16], al
jne 0x52d5f3
push esi
push edi
lea ecx, [esp + 0x5c]
call fcn.005317b0
cmp byte [esp + 0x17], al
jne 0x52d5f3
mov ecx, dword [ebp + 8]
push 0
push 0
push 0
push esi
push edi
call fcn.00531580
lea ecx, [esp + 0x54]
inc esi
call fcn.00531520
cmp esi, eax
jl 0x52d5b0
lea ecx, [esp + 0x54]
inc edi
call fcn.00531500
cmp edi, eax
jl 0x52d5a0
jmp 0x52d69d
lea eax, [esp + 0x64]
push eax
call fcn.00532330
lea ecx, [esp + 0x54]
mov byte [esp + 0x98], 2
cmp ecx, eax
je 0x52d634
push eax
call fcn.00502790
lea ecx, [esp + 0x64]
mov byte [esp + 0x98], 0
mov dword [esp + 0x64], vtable.wxObject.0
call fcn.005026b0
lea ecx, [esp + 0x54]
call fcn.00531500
test eax, eax
jle 0x52d69d
lea ebx, [ebx]
lea ecx, [esp + 0x54]
xor esi, esi
call fcn.00531520
test eax, eax
jle 0x52d68f
nop
push 0
push 0
push 0
push esi
push edi
lea ecx, [esp + 0x68]
call fcn.00531580
lea ecx, [esp + 0x54]
inc esi
call fcn.00531520
cmp esi, eax
jl 0x52d670
lea ecx, [esp + 0x54]
inc edi
call fcn.00531500
cmp edi, eax
jl 0x52d660
mov edx, dword [0x640cbc]
push edx
push 0
push str.wxBMP_FORMAT
lea ecx, [esp + 0x2c]
call fcn.00501040
mov esi, dword [ebp + 8]
push 8
lea eax, [esp + 0x24]
push eax
mov ecx, esi
mov byte [esp + 0xa0], 3
call fcn.00531a90
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx - 0xc]
add ecx, 0xfffffff4
mov byte [esp + 0x98], 0
cmp eax, 0xffffffff
je 0x52d6f0
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x52d6f0
call fcn.004fff70
mov ecx, dword [0x640cbc]
push ecx
push 0
push str.wxBMP_FORMAT
lea ecx, [esp + 0x30]
call fcn.00501040
push 2
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x5c]
mov byte [esp + 0xa0], 4
call fcn.00531a90
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 0xc]
add ecx, 0xfffffff4
mov byte [esp + 0x98], 0
cmp eax, 0xffffffff
je 0x52d742
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x52d742
call fcn.004fff70
lea ecx, [esp + 0x7c]
call fcn.0051a960
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x3c]
push 0
push 0
push eax
lea ecx, [esp + 0x88]
push ecx
push esi
mov ecx, edi
mov byte [esp + 0xac], 5
call fcn.0052c310
test al, al
je 0x52dac0
mov edx, dword [ebp + 0x10]
push 1
push 0
push edx
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x64]
push ecx
mov ecx, edi
call fcn.0052c310
test al, al
je 0x52dac0
lea ecx, [esp + 0x7c]
call fcn.0051b230
add dword [esp + 0x1c], 0x10
mov edi, eax
mov ecx, esi
mov dword [esp + 0x48], edi
call fcn.00531500
mov ecx, esi
mov byte [esp + 0x6c], al
call fcn.00531520
add al, al
cmp dword [esp + 0x44], 2
mov byte [esp + 0x6d], al
mov edx, 1
mov eax, 8
mov byte [esp + 0x6e], 0
mov byte [esp + 0x6f], 0
mov word [esp + 0x70], dx
mov word [esp + 0x72], ax
jne 0x52d98e
mov ecx, dword [0x640cbc]
push ecx
push 0
push str.HotSpotX
lea ecx, [esp + 0x38]
call fcn.00501040
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
mov byte [esp + 0x9c], 6
call fcn.00531b30
test al, al
je 0x52d850
mov eax, dword [0x640cbc]
push eax
push 0
push str.HotSpotX
lea ecx, [esp + 0x34]
call fcn.00501040
or dword [esp + 0x18], 1
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x9c], 7
call fcn.00532ff0
jmp 0x52d85c
mov ecx, esi
call fcn.00531500
cdq
sub eax, edx
sar eax, 1
test byte [esp + 0x18], 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x98], 6
je 0x52d892
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx - 0xc]
and dword [esp + 0x18], 0xfffffffe
add ecx, 0xfffffff4
cmp eax, 0xffffffff
je 0x52d892
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x52d892
call fcn.004fff70
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx - 0xc]
add ecx, 0xfffffff4
mov byte [esp + 0x98], 5
cmp eax, 0xffffffff
je 0x52d8b5
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x52d8b5
call fcn.004fff70
mov edx, dword [0x640cbc]
push edx
push 0
push str.HotSpotY
lea ecx, [esp + 0x40]
call fcn.00501040
lea eax, [esp + 0x34]
push eax
mov ecx, esi
mov byte [esp + 0x9c], 8
call fcn.00531b30
test al, al
je 0x52d918
mov ecx, dword [0x640cbc]
push ecx
push 0
push str.HotSpotY
lea ecx, [esp + 0x3c]
call fcn.00501040
or dword [esp + 0x18], 2
lea edx, [esp + 0x30]
push edx
mov ecx, esi
mov byte [esp + 0x9c], 9
call fcn.00532ff0
mov edi, eax
jmp 0x52d926
mov ecx, esi
call fcn.00531520
cdq
sub eax, edx
mov edi, eax
sar edi, 1
test byte [esp + 0x18], 2
mov dword [esp + 0x98], 8
je 0x52d958
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 0xc]
and dword [esp + 0x18], 0xfffffffd
add ecx, 0xfffffff4
cmp eax, 0xffffffff
je 0x52d958
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x52d958
call fcn.004fff70
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx - 0xc]
add ecx, 0xfffffff4
mov byte [esp + 0x98], 5
cmp eax, 0xffffffff
je 0x52d97b
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x52d97b
call fcn.004fff70
mov ax, word [esp + 0x38]
mov word [esp + 0x72], di
mov edi, dword [esp + 0x48]
mov word [esp + 0x70], ax
mov eax, dword [esp + 0x1c]
mov edx, dword [ebx]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x78], eax
add eax, edi
mov dword [esp + 0x1c], eax
push 1
lea eax, [esp + 0x70]
push eax
mov ecx, ebx
mov dword [esp + 0x7c], edi
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 1
lea ecx, [esp + 0x71]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 1
lea ecx, [esp + 0x72]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 1
lea ecx, [esp + 0x73]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 2
lea ecx, [esp + 0x74]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 2
lea ecx, [esp + 0x76]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 4
lea ecx, [esp + 0x78]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
push 4
lea ecx, [esp + 0x7c]
push ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 4]
mov ecx, ebx
call edx
test al, al
je 0x52dac0
mov eax, dword [ebp + 0x10]
push 0
push 0
push eax
push ebx
push esi
mov esi, dword [esp + 0x50]
mov ecx, esi
call fcn.0052c310
test al, al
je 0x52dac0
mov ecx, dword [ebp + 0x10]
push 1
push 0
push ecx
push ebx
lea edx, [esp + 0x64]
push edx
mov ecx, esi
call fcn.0052c310
test al, al
je 0x52db36
lea ecx, [esp + 0x7c]
mov byte [esp + 0x98], 0
call fcn.0051a900
lea ecx, [esp + 0x54]
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x54], vtable.wxObject.0
call fcn.005026b0
mov eax, dword [esp + 0x40]
inc eax
cmp eax, 1
mov dword [esp + 0x40], eax
jl 0x52d4d0
mov al, 1
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [ebp + 0x10], 0
je 0x52daef
call fcn.0050aa80
test eax, eax
je 0x52dae1
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push str.ICO:_Error_writing_the_image_file_
call eax
jmp 0x52dae6
mov eax, str.ICO:_Error_writing_the_image_file_
push eax
call fcn.0050fb80
add esp, 4
lea ecx, [esp + 0x7c]
mov byte [esp + 0x98], 0
call fcn.0051a900
lea ecx, [esp + 0x54]
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x54], vtable.wxObject.0
call fcn.005026b0
xor al, al
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [ebp + 0x10], 0
je 0x52daef
push 0
push str.ICO:_Error_writing_the_image_file_
call fcn.00502ba0
push eax
call fcn.0050fb80
add esp, 0xc
jmp 0x52daef