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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x60fe8e
mov eax, dword fs:[0]
push eax
sub esp, 0x80
push ebx
push esi
push edi
mov eax, dword [0x6e163c]
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.005399e0
cmp eax, 0x7f
jle 0x540d96
cmp byte [ebp + 0x10], 0
je 0x540d7c
call fcn.00517840
cmp eax, edi
je 0x540d6e
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.005257f0
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.005257f0
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.005399c0
cmp eax, 0xff
jle 0x540e0d
cmp byte [ebp + 0x10], 0
je 0x540d7c
call fcn.00517840
cmp eax, edi
je 0x540de5
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.005257f0
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.005257f0
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 0x540ee9
cmp byte [ebp + 0x10], al
je 0x540d7c
call fcn.00517840
cmp eax, edi
je 0x540ec1
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.005257f0
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.005257f0
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.00539e00
mov ecx, esi
test al, al
je 0x541034
call fcn.00539dc0
movzx ecx, al
push ecx
mov ecx, esi
call fcn.00539da0
movzx edx, al
push edx
mov ecx, esi
call fcn.00539d80
movzx eax, al
push eax
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
call fcn.0053b270
lea edx, [esp + 0x54]
mov byte [esp + 0x98], 1
cmp edx, eax
je 0x540f5c
push eax
mov ecx, edx
call fcn.0050f940
lea ecx, [esp + 0x5c]
mov byte [esp + 0x98], 0
mov dword [esp + 0x5c], vtable.wxObject.0
call fcn.0050f870
mov ecx, esi
call fcn.00539d80
mov ecx, esi
mov byte [esp + 0x15], al
call fcn.00539da0
mov ecx, esi
mov byte [esp + 0x16], al
call fcn.00539dc0
cmp byte [esp + 0x15], 0
mov byte [esp + 0x17], al
jne 0x540fac
cmp byte [esp + 0x16], 0
jne 0x540fac
test al, al
je 0x5410bd
lea ecx, [esp + 0x54]
xor edi, edi
call fcn.005399c0
test eax, eax
jle 0x5410bd
nop
lea ecx, [esp + 0x54]
xor esi, esi
call fcn.005399e0
test eax, eax
jle 0x541021
nop
push esi
push edi
lea ecx, [esp + 0x5c]
call fcn.00539c10
cmp byte [esp + 0x15], al
jne 0x541013
push esi
push edi
lea ecx, [esp + 0x5c]
call fcn.00539c40
cmp byte [esp + 0x16], al
jne 0x541013
push esi
push edi
lea ecx, [esp + 0x5c]
call fcn.00539c70
cmp byte [esp + 0x17], al
jne 0x541013
mov ecx, dword [ebp + 8]
push 0
push 0
push 0
push esi
push edi
call fcn.00539a40
lea ecx, [esp + 0x54]
inc esi
call fcn.005399e0
cmp esi, eax
jl 0x540fd0
lea ecx, [esp + 0x54]
inc edi
call fcn.005399c0
cmp edi, eax
jl 0x540fc0
jmp 0x5410bd
lea eax, [esp + 0x64]
push eax
call fcn.0053a880
lea ecx, [esp + 0x54]
mov byte [esp + 0x98], 2
cmp ecx, eax
je 0x541054
push eax
call fcn.0050f940
lea ecx, [esp + 0x64]
mov byte [esp + 0x98], 0
mov dword [esp + 0x64], vtable.wxObject.0
call fcn.0050f870
lea ecx, [esp + 0x54]
call fcn.005399c0
test eax, eax
jle 0x5410bd
lea ebx, [ebx]
lea ecx, [esp + 0x54]
xor esi, esi
call fcn.005399e0
test eax, eax
jle 0x5410af
nop
push 0
push 0
push 0
push esi
push edi
lea ecx, [esp + 0x68]
call fcn.00539a40
lea ecx, [esp + 0x54]
inc esi
call fcn.005399e0
cmp esi, eax
jl 0x541090
lea ecx, [esp + 0x54]
inc edi
call fcn.005399c0
cmp edi, eax
jl 0x541080
mov edx, dword [0x63bb88]
push edx
push 0
push str.wxBMP_FORMAT
lea ecx, [esp + 0x2c]
call fcn.0050dd90
mov esi, dword [ebp + 8]
push 8
lea eax, [esp + 0x24]
push eax
mov ecx, esi
mov byte [esp + 0xa0], 3
call fcn.00539f50
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx - 0xc]
add ecx, 0xfffffff4
mov byte [esp + 0x98], 0
cmp eax, 0xffffffff
je 0x541110
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x541110
call fcn.0050ccc0
mov ecx, dword [0x63bb88]
push ecx
push 0
push str.wxBMP_FORMAT
lea ecx, [esp + 0x30]
call fcn.0050dd90
push 2
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x5c]
mov byte [esp + 0xa0], 4
call fcn.00539f50
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 0xc]
add ecx, 0xfffffff4
mov byte [esp + 0x98], 0
cmp eax, 0xffffffff
je 0x541162
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x541162
call fcn.0050ccc0
lea ecx, [esp + 0x7c]
call fcn.00527780
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.0053fd30
test al, al
je 0x5414e0
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.0053fd30
test al, al
je 0x5414e0
lea ecx, [esp + 0x7c]
call fcn.00528060
add dword [esp + 0x1c], 0x10
mov edi, eax
mov ecx, esi
mov dword [esp + 0x48], edi
call fcn.005399c0
mov ecx, esi
mov byte [esp + 0x6c], al
call fcn.005399e0
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 0x5413ae
mov ecx, dword [0x63bb88]
push ecx
push 0
push str.HotSpotX
lea ecx, [esp + 0x38]
call fcn.0050dd90
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
mov byte [esp + 0x9c], 6
call fcn.00539ff0
test al, al
je 0x541270
mov eax, dword [0x63bb88]
push eax
push 0
push str.HotSpotX
lea ecx, [esp + 0x34]
call fcn.0050dd90
or dword [esp + 0x18], 1
lea ecx, [esp + 0x28]
push ecx
mov ecx, esi
mov byte [esp + 0x9c], 7
call fcn.0053b540
jmp 0x54127c
mov ecx, esi
call fcn.005399c0
cdq
sub eax, edx
sar eax, 1
test byte [esp + 0x18], 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x98], 6
je 0x5412b2
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx - 0xc]
and dword [esp + 0x18], 0xfffffffe
add ecx, 0xfffffff4
cmp eax, 0xffffffff
je 0x5412b2
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x5412b2
call fcn.0050ccc0
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx - 0xc]
add ecx, 0xfffffff4
mov byte [esp + 0x98], 5
cmp eax, 0xffffffff
je 0x5412d5
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x5412d5
call fcn.0050ccc0
mov edx, dword [0x63bb88]
push edx
push 0
push str.HotSpotY
lea ecx, [esp + 0x40]
call fcn.0050dd90
lea eax, [esp + 0x34]
push eax
mov ecx, esi
mov byte [esp + 0x9c], 8
call fcn.00539ff0
test al, al
je 0x541338
mov ecx, dword [0x63bb88]
push ecx
push 0
push str.HotSpotY
lea ecx, [esp + 0x3c]
call fcn.0050dd90
or dword [esp + 0x18], 2
lea edx, [esp + 0x30]
push edx
mov ecx, esi
mov byte [esp + 0x9c], 9
call fcn.0053b540
mov edi, eax
jmp 0x541346
mov ecx, esi
call fcn.005399e0
cdq
sub eax, edx
mov edi, eax
sar edi, 1
test byte [esp + 0x18], 2
mov dword [esp + 0x98], 8
je 0x541378
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 0xc]
and dword [esp + 0x18], 0xfffffffd
add ecx, 0xfffffff4
cmp eax, 0xffffffff
je 0x541378
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x541378
call fcn.0050ccc0
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx - 0xc]
add ecx, 0xfffffff4
mov byte [esp + 0x98], 5
cmp eax, 0xffffffff
je 0x54139b
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x54139b
call fcn.0050ccc0
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 0x5414e0
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.0053fd30
test al, al
je 0x5414e0
mov ecx, dword [ebp + 0x10]
push 1
push 0
push ecx
push ebx
lea edx, [esp + 0x64]
push edx
mov ecx, esi
call fcn.0053fd30
test al, al
je 0x541556
lea ecx, [esp + 0x7c]
mov byte [esp + 0x98], 0
call fcn.00527710
lea ecx, [esp + 0x54]
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x54], vtable.wxObject.0
call fcn.0050f870
mov eax, dword [esp + 0x40]
inc eax
cmp eax, 1
mov dword [esp + 0x40], eax
jl 0x540ef0
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 0x54150f
call fcn.00517840
test eax, eax
je 0x541501
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 0x541506
mov eax, str.ICO:_Error_writing_the_image_file_
push eax
call fcn.005257f0
add esp, 4
lea ecx, [esp + 0x7c]
mov byte [esp + 0x98], 0
call fcn.00527710
lea ecx, [esp + 0x54]
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x54], vtable.wxObject.0
call fcn.0050f870
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 0x54150f
push 0
push str.ICO:_Error_writing_the_image_file_
call fcn.0050fc20
push eax
call fcn.005257f0
add esp, 0xc
jmp 0x54150f