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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x61a6d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
push ebx
push esi
xor ebx, ebx
mov esi, ecx
mov dword [esp + 0x24], ebx
push edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], vtable.wxImage.0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push ebx
push eax
push ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0xd8], 1
call fcn.00477230
mov eax, dword [esi + 4]
lea ecx, [esp + 0x10]
mov edx, dword [eax + 0x10]
mov edi, dword [eax + 0x18]
mov dword [esp + 0x8c], edx
call fcn.00479990
cmp edi, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], ebx
je 0x478496
push ebx
push ebx
lea ecx, [esp + 0x18]
call fcn.004799b0
lea ecx, [esp + 0x10]
call fcn.00479a10
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x34], ebx
test eax, eax
jle 0x4788ff
fild dword [ebp + 0x10]
fstp qword [esp + 0x98]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xc]
imul ecx, ebx
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fdiv qword [esp + 0x98]
fst qword [esp + 0x90]
call fcn.005b68b8
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
fild dword [esp + 0xc]
test eax, eax
mov dword [esp + 0x18], 0
fsubr qword [esp + 0x90]
fstp qword [esp + 0xa0]
jle 0x4788ef
fild dword [ebp + 0xc]
fstp qword [esp + 0xb0]
mov ebx, dword [esi + 4]
mov dword [esp + 0x28], ebx
mov esi, dword [ebx + 8]
mov edx, esi
mov dword [esp + 0x1c], esi
imul edx, dword [esp + 0x18]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fdiv qword [esp + 0xb0]
fst qword [esp + 0x68]
call fcn.005b68b8
mov dword [esp + 0xc], eax
mov dword [esp + 0x38], 0
fild dword [esp + 0xc]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x50], 0
fsubr qword [esp + 0x68]
mov dword [esp + 0x54], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x20], 0xffffffff
fstp qword [esp + 0xa8]
jmp 0x478598
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
fild dword [esp + 0x20]
fld qword [esp + 0x90]
fadd st(1)
fcom qword [0x6485b8]
fnstsw ax
test ah, 5
jp 0x4785b8
fstp st(0)
xor eax, eax
jmp 0x4785dc
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fld st(1)
fcompp
fnstsw ax
and eax, 0x100
jne 0x4785d7
fstp st(0)
lea eax, [ecx - 1]
jmp 0x4785dc
call fcn.005b68b8
fsub qword [esp + 0xa0]
or ebx, 0xffffffff
imul esi, eax
fst qword [esp + 0x48]
fadd qword [0x6487e0]
fstp qword [esp + 0xb8]
mov dword [esp + 0xc], ebx
fild dword [esp + 0xc]
fld qword [esp + 0x68]
fadd st(1)
fcom qword [0x6485b8]
fnstsw ax
test ah, 5
jp 0x47861b
fstp st(0)
xor eax, eax
jmp 0x47863a
fild dword [esp + 0x1c]
fld st(1)
fcompp
fnstsw ax
and eax, 0x100
jne 0x478635
mov eax, dword [esp + 0x1c]
fstp st(0)
dec eax
jmp 0x47863a
call fcn.005b68b8
fsub qword [esp + 0xa8]
fld qword [0x6487e0]
lea ecx, [esi + eax]
fadd st(1)
fcom qword [0x6485b8]
fnstsw ax
test ah, 0x41
jp 0x478671
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
jmp 0x47867e
fld st(0)
fmul st(1)
fmul st(1)
fstp qword [esp + 0x80]
fstp st(0)
fld qword [0x648810]
fadd st(1)
fcom qword [0x6485b8]
fnstsw ax
test ah, 0x41
jp 0x4786a7
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
jmp 0x4786b1
fld st(0)
fmul st(1)
fmul st(1)
fstp qword [esp + 0x78]
fstp st(0)
fcom qword [0x6485b8]
fnstsw ax
test ah, 0x41
jp 0x4786d2
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
jmp 0x4786dc
fld st(0)
fmul st(1)
fmul st(1)
fstp qword [esp + 0x70]
fsub qword [0x648810]
fcom qword [0x6485b8]
fnstsw ax
test ah, 0x41
jp 0x4786f9
fstp st(0)
fld qword [0x6485b8]
jmp 0x4786ff
fld st(0)
fmul st(1)
fmulp st(1)
fld qword [esp + 0xb8]
fcom qword [0x6485b8]
fnstsw ax
test ah, 0x41
jp 0x47871d
fstp st(0)
fld qword [0x6485b8]
jmp 0x478723
fld st(0)
fmul st(1)
fmulp st(1)
fld qword [esp + 0x48]
fadd qword [0x648810]
fcom qword [0x6485b8]
fnstsw ax
test ah, 0x41
jp 0x478744
fstp st(0)
fld qword [0x6485b8]
jmp 0x47874a
fld st(0)
fmul st(1)
fmulp st(1)
fld qword [esp + 0x48]
fcom qword [0x6485b8]
fnstsw ax
test ah, 0x41
jp 0x478765
fstp st(0)
fld qword [0x6485b8]
jmp 0x47876b
fld st(0)
fmul st(1)
fmulp st(1)
fld qword [esp + 0x48]
fsub qword [0x648810]
fcom qword [0x6485b8]
fnstsw ax
test ah, 0x41
jp 0x47878c
fstp st(0)
fld qword [0x6485b8]
jmp 0x478792
fld st(0)
fmul st(1)
fmulp st(1)
fld qword [esp + 0x78]
fmul qword [0x648828]
mov edx, dword [esp + 0x8c]
fsubr qword [esp + 0x80]
fld qword [esp + 0x70]
fmul qword [0x648820]
lea eax, [edx + ecx*2]
xor edx, edx
mov dl, byte [eax + ecx]
add eax, ecx
faddp st(1)
fxch st(5)
fmul qword [0x648828]
mov dword [esp + 0xc], edx
xor edx, edx
mov dl, byte [eax + 1]
fsubp st(5)
fxch st(2)
fmul qword [0x648828]
fsubr st(3)
fxch st(1)
fmul qword [0x648820]
faddp st(1)
fxch st(1)
fmul qword [0x648828]
fsubp st(1)
fmulp st(2)
fxch st(1)
fmul qword [0x648818]
fstp qword [esp + 0x58]
fstp st(0)
fild dword [esp + 0xc]
mov dword [esp + 0xc], edx
xor edx, edx
mov dl, byte [eax + 2]
fmul qword [esp + 0x58]
test edi, edi
fadd qword [esp + 0x38]
fstp qword [esp + 0x38]
fild dword [esp + 0xc]
mov dword [esp + 0xc], edx
fmul qword [esp + 0x58]
fadd qword [esp + 0x40]
fstp qword [esp + 0x40]
fild dword [esp + 0xc]
fmul qword [esp + 0x58]
fadd qword [esp + 0x50]
fstp qword [esp + 0x50]
je 0x47885b
xor eax, eax
mov al, byte [ecx + edi]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [esp + 0x58]
fadd qword [esp + 0x60]
fstp qword [esp + 0x60]
inc ebx
cmp ebx, 2
mov dword [esp + 0xc], ebx
jle 0x4785fe
mov eax, dword [esp + 0x20]
inc eax
cmp eax, 2
mov dword [esp + 0x20], eax
jle 0x478590
fld qword [esp + 0x38]
fadd qword [0x6487d8]
call fcn.005b68b8
fld qword [esp + 0x40]
mov esi, dword [esp + 0x2c]
fadd qword [0x6487d8]
mov byte [esi], al
call fcn.005b68b8
fld qword [esp + 0x50]
fadd qword [0x6487d8]
mov byte [esi + 1], al
call fcn.005b68b8
mov byte [esi + 2], al
add esi, 3
test edi, edi
mov dword [esp + 0x2c], esi
je 0x4788d3
fld qword [esp + 0x60]
call fcn.005b68b8
mov ecx, dword [esp + 0x24]
mov byte [ecx], al
inc ecx
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x478506
mov ebx, dword [esp + 0x34]
mov eax, dword [ebp + 0x10]
inc ebx
cmp ebx, eax
mov dword [esp + 0x34], ebx
jl 0x4784af
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x14]
test eax, eax
mov dword [esi], vtable.wxObject.0
mov dword [esi + 4], eax
je 0x478916
inc dword [eax + 4]
mov dword [esi], vtable.wxImage.0
mov dword [esp + 0x28], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0xcc], 0
mov dword [esp + 0x10], vtable.wxObject.0
call fcn.004e8d50
mov ecx, dword [esp + 0xc4]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc