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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [0x7e42ec], 0x3018b3
mov dword [0x7e42ec], 0x3018b4
test ebx, ebx
sete al
mov ecx, dword [esp + 0x78]
test ecx, ecx
sete dl
mov dword [0x7e42ec], 0x3018b4
or al, dl
jne 0x49842c
test edi, edi
je 0x49842c
mov dword [0x7e42ec], 0x3018b6
mov dword [edi + 0x2e6], 0
mov dword [0x7e42ec], 0x3018b8
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x3c], eax
mov dword [0x7e42ec], 0x3018b9
mov dword [0x7e42ec], 0x3018bb
mov eax, dword [edi + 0x38]
mov edx, dword [eax + 0x18]
mov eax, dword [ebx + 0x10]
sub eax, dword [edx + 0x80]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fmul qword [ebx + 0x18]
fild dword [edi + 0x106]
fsubp st(1)
fstp qword [esp + 0x40]
fld qword [esp + 0x40]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov dword [0x7e42ec], 0x3018bc
mov eax, dword [ebx + 0x14]
sub eax, dword [edi + 0x10e]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fmul qword [ebx + 0x18]
fstp qword [esp + 0x40]
fld qword [esp + 0x40]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x34], eax
mov dword [0x7e42ec], 0x3018c2
test byte [edi + 0x366], 0x20
je 0x4978b8
mov ecx, dword [edi + 0x302]
mov dword [esp + 0x38], ecx
test ecx, ecx
je 0x4978b8
mov eax, dword [edi + 0xfe]
mov dword [0x7e42ec], 0x3018c3
mov dword [0x7e42ec], 0x300674
mov dword [0x7e42ec], 0x300675
cmp ecx, eax
jle 0x4978f0
mov dword [0x7e42ec], 0x300676
mov dword [esp + 0x38], eax
jmp 0x497904
mov dword [0x7e42ec], 0x3018c4
mov dword [0x7e42ec], 0x3018c5
mov eax, dword [edi + 0xfe]
mov dword [esp + 0x38], eax
mov dword [0x7e42ec], 0x3018c6
xor ebp, ebp
jmp 0x497cb5
mov dword [0x7e42ec], 0x300677
mov dword [0x7e42ec], 0x300678
mov dword [0x7e42ec], 0x3018c4
jmp 0x4978d6
mov dword [0x7e42ec], 0x3018cc
mov dword [0x7e42ec], 0x3018cd
mov esi, dword [esp + 0x30]
jmp 0x497cfc
mov dword [0x7e42ec], 0x3018d2
mov dword [0x7e42ec], 0x3018d3
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
jmp 0x497d3d
mov dword [0x7e42ec], 0x30066f
mov eax, 1
jmp 0x497d9b
mov dword [0x7e42ec], 0x3018db
mov dword [0x7e42ec], 0x3018dc
mov dword [0x7e42ec], 0x301890
mov dword [0x7e42ec], 0x301891
mov dword [esp], ecx
call fcn.005593bf
sub esp, 4
mov edx, eax
test eax, eax
jne 0x497bd0
mov dword [0x7e42ec], 0x301891
mov dword [0x7e42ec], 0x3018dd
mov dword [0x7e42ec], 0x3018de
mov dword [0x7e42ec], 0x3018e0
mov dword [ebx + 0x24], esi
mov dword [0x7e42ec], 0x3018e1
mov eax, dword [ebx + 0x4c]
test eax, eax
jne 0x497e54
mov dword [0x7e42ec], 0x3018e7
mov dword [0x7e42ec], 0x3018e9
mov dword [0x7e42ec], 0x3018ea
mov dword [0x7e42ec], 0x3018ec
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call fcn.005593bf
sub esp, 4
test eax, eax
jne 0x497ef8
mov dword [0x7e42ec], 0x3018f0
mov dword [0x7e42ec], 0x3018f1
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
cmp dword [eax + 0x40], ecx
je 0x497b0c
mov dword [0x7e42ec], 0x3018f2
mov ecx, dword [ebx + 0x20]
mov eax, dword [edi + 0xf2]
sub eax, ecx
mov dword [0x7e42ec], 0x30066d
mov dword [0x7e42ec], 0x30066e
test eax, eax
jle 0x497f90
mov dword [0x7e42ec], 0x300670
mov dword [0x7e42ec], 0x300671
mov edx, dword [ebx + 0x30]
mov dword [0x7e42ec], 0x300674
mov dword [0x7e42ec], 0x300675
cmp edx, eax
jl 0x497fa8
mov dword [0x7e42ec], 0x300677
mov dword [0x7e42ec], 0x300678
mov dword [ebx + 0x30], eax
mov dword [0x7e42ec], 0x3018f4
mov esi, dword [esp + 0x78]
mov edx, dword [esi + 0x40]
mov dword [0x7e42ec], 0x3018f5
mov esi, edx
sub esi, eax
js 0x497fc0
cmp ecx, esi
jl 0x498008
mov dword [0x7e42ec], 0x3018f9
mov dword [0x7e42ec], 0x3018fb
mov dword [0x7e42ec], 0x3018fc
mov dword [0x7e42ec], 0x3018fe
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call fcn.005593bf
sub esp, 4
test eax, eax
jne 0x498048
mov dword [0x7e42ec], 0x301914
mov dword [0x7e42ec], 0x301916
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x28], eax
mov dword [0x7e42ec], 0x301917
mov ecx, dword [ebx + 0x20]
add ecx, eax
mov edx, dword [edi + 0xf2]
mov dword [0x7e42ec], 0x300674
mov dword [0x7e42ec], 0x300675
cmp ecx, edx
jl 0x498400
mov dword [0x7e42ec], 0x300677
mov dword [0x7e42ec], 0x300678
mov dword [ebx + 0x2c], edx
mov dword [0x7e42ec], 0x301919
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
je 0x498418
mov dword [0x7e42ec], 0x30191a
mov eax, 1
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0043f630
sub esp, 0xc
mov edx, eax
jmp 0x497e1e
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0043f630
sub esp, 0xc
mov edx, eax
jmp 0x497e14
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0043f310
sub esp, 0xc
mov edx, dword [esp + 0x28]
add edx, eax
jmp 0x497c79
mov dword [0x7e42ec], 0x3018e3
mov dword [0x7e42ec], 0x30186c
mov dword [0x7e42ec], 0x30186d
mov dword [esp], ecx
call fcn.005593bf
sub esp, 4
test eax, eax
mov edx, dword [esp + 0x28]
jne 0x497ed0
mov dword [0x7e42ec], 0x30186d
mov dword [0x7e42ec], 0x3018e4
mov dword [0x7e42ec], 0x3018e6
mov dword [0x7e42ec], 0x3018e7
mov dword [0x7e42ec], 0x3018e9
add ebp, 1
mov dword [0x7e42ec], 0x3018ea
cmp ebp, 1
jg 0x497a0b
test edx, edx
je 0x497a0b
mov dword [0x7e42ec], 0x3018c8
mov dword [0x7e42ec], 0x3018c9
mov dword [0x7e42ec], 0x3018cb
mov edx, dword [ebx + 0x64]
test edx, edx
jne 0x497910
mov dword [0x7e42ec], 0x3018cd
mov dword [0x7e42ec], 0x3018ce
mov esi, dword [esp + 0x30]
sub esi, dword [edi + 0x102]
mov dword [0x7e42ec], 0x3018cf
mov dword [0x7e42ec], 0x3018d1
mov eax, dword [ebx + 0x50]
test eax, eax
jne 0x497930
mov dword [0x7e42ec], 0x3018d3
mov dword [0x7e42ec], 0x3018d4
mov eax, dword [esp + 0x34]
sub eax, dword [edi + 0x102]
mov dword [esp + 0x28], eax
mov dword [0x7e42ec], 0x3018d5
mov dword [0x7e42ec], 0x3018d7
fild dword [esp + 0x28]
fild dword [edi + 0x88]
fdivp st(1)
fstp qword [esp]
call fcn.00552cd0
sub esp, 8
sub eax, 1
mov dword [0x7e42ec], 0x30066d
mov dword [0x7e42ec], 0x30066e
test eax, eax
jle 0x497958
mov dword [0x7e42ec], 0x300670
mov dword [0x7e42ec], 0x300671
mov dword [ebx + 0x20], eax
mov dword [0x7e42ec], 0x3018d8
mov edx, dword [ebx + 0x60]
sub esi, 1
test edx, edx
je 0x4979c1
mov dword [0x7e42ec], 0x3018d9
mov ecx, dword [ebx + 0x5c]
cmp edx, 2
je 0x497dd7
add eax, 1
cmp dword [edi + 0xf2], eax
jle 0x497970
mov dword [0x7e42ec], 0x3018da
mov dword [0x7e42ec], 0x301890
mov dword [0x7e42ec], 0x301891
mov dword [esp], ecx
call fcn.005593bf
sub esp, 4
mov edx, eax
test eax, eax
jne 0x497bf0
mov dword [0x7e42ec], 0x301891
mov dword [0x7e42ec], 0x3018db
mov dword [0x7e42ec], 0x3018dd
mov dword [0x7e42ec], 0x3018de
mov dword [0x7e42ec], 0x3018e0
mov dword [ebx + 0x24], esi
mov dword [0x7e42ec], 0x3018e1
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x497c83
mov dword [0x7e42ec], 0x3018e2
mov ecx, dword [ebx + 0x48]
cmp dword [esp + 0x38], esi
mov dword [esp + 0x28], edx
jg 0x497c30
cmp eax, 2
je 0x497c30
mov dword [0x7e42ec], 0x3018e4
mov dword [0x7e42ec], 0x3018e5
mov dword [0x7e42ec], 0x30186c
mov dword [0x7e42ec], 0x30186d
mov dword [esp], ecx
call fcn.005593bf
sub esp, 4
test eax, eax
mov edx, dword [esp + 0x28]
jne 0x497c10
mov dword [0x7e42ec], 0x30186d
jmp 0x497c79
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.0043f310
sub esp, 0xc
mov edx, dword [esp + 0x28]
add edx, eax
jmp 0x497c6f
mov dword [0x7e42ec], 0x3018ed
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call fcn.0055ae29
sub esp, 0x10
mov dword [0x7e42ec], 0x3018ee
mov eax, dword [edi + 0xf2]
sub eax, 1
mov dword [esp + 8], eax
sar eax, 0x1f
mov dword [esp + 0xc], eax
mov dword [esp + 4], 2
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call fcn.0055ae29
sub esp, 0x10
mov dword [0x7e42ec], 0x3018ef
mov eax, dword [ebx + 0x20]
mov dword [esp + 8], eax
sar eax, 0x1f
mov dword [esp + 0xc], eax
mov dword [esp + 4], 3
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call fcn.0055ae29
sub esp, 0x10
jmp 0x497a2b
mov dword [0x7e42ec], 0x30066f
mov eax, 1
jmp 0x497a95
mov dword [0x7e42ec], 0x300676
mov eax, edx
jmp 0x497ac8
mov dword [0x7e42ec], 0x3018f6
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.004901a0
sub esp, 0x18
mov dword [0x7e42ec], 0x3018f7
jmp 0x497af8
mov dword [0x7e42ec], 0x3018f8
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
sub edx, ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.004901a0
sub esp, 0x18
jmp 0x497af8
mov dword [0x7e42ec], 0x3018ff
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 4], 1
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call fcn.0055ae29
sub esp, 0x10
mov dword [0x7e42ec], 0x301900
mov eax, dword [ebx + 0x24]
mov dword [0x7e42ec], 0x30066d
mov dword [0x7e42ec], 0x30066e
cmp dword [esp + 0x38], eax
jg 0x4982f0
mov dword [0x7e42ec], 0x300670
mov dword [0x7e42ec], 0x300671
mov ecx, dword [ebx + 0x48]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fdiv qword [ebx + 0x54]
fstp qword [esp + 0x40]
fld qword [esp + 0x40]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], 2
mov dword [esp], ecx
call fcn.0055ae29
sub esp, 0x10
mov dword [0x7e42ec], 0x301901
mov ecx, dword [ebx + 0x48]
fild dword [ebx + 0x24]
fdiv qword [ebx + 0x54]
fstp qword [esp + 0x40]
fld qword [esp + 0x40]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], 3
mov dword [esp], ecx
call fcn.0055ae29
sub esp, 0x10
mov dword [0x7e42ec], 0x301903
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x80]
cmp dword [eax + 0x44], ecx
je 0x4982e1
mov dword [0x7e42ec], 0x301904
mov dword [0x7e42ec], 0x30066d
mov dword [0x7e42ec], 0x30066e
mov eax, dword [esp + 0x38]
sub eax, dword [ebx + 0x24]
js 0x498308
mov dword [0x7e42ec], 0x300670
mov dword [0x7e42ec], 0x300671
mov edx, dword [ebx + 0x34]
mov dword [0x7e42ec], 0x300674
mov dword [0x7e42ec], 0x300675
cmp edx, eax
jl 0x498320
mov dword [0x7e42ec], 0x300677
mov dword [0x7e42ec], 0x300678
mov dword [ebx + 0x34], eax
mov dword [0x7e42ec], 0x301905
mov dword [esp + 4], 2
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call fcn.00559724
sub esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
fild qword [esp + 0x28]
fmul qword [ebx + 0x54]
fstp qword [esp]
call fcn.00552cd0
sub esp, 8
mov edx, dword [ebx + 0x34]
mov dword [0x7e42ec], 0x30067b
mov dword [0x7e42ec], 0x30067c
test edx, edx
jns 0x49822a
mov dword [0x7e42ec], 0x30067d
xor edx, edx
mov dword [0x7e42ec], 0x30067e
mov dword [0x7e42ec], 0x30067f
cmp eax, edx
jge 0x49824e
mov dword [0x7e42ec], 0x300680
mov edx, eax
mov dword [0x7e42ec], 0x300681
mov dword [0x7e42ec], 0x300682
mov dword [ebx + 0x34], edx
mov dword [0x7e42ec], 0x301907
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x38]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00489750
sub esp, 0xc
mov esi, eax
mov dword [0x7e42ec], 0x301909
sub eax, dword [ebx + 0x34]
mov dword [0x7e42ec], 0x30190b
mov edx, dword [edi + 0x38]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + 0x80]
lea ebp, [edx*4]
cmp ebp, eax
jg 0x498338
mov ebp, dword [ebx + 0x24]
sub ebp, edx
cmp ebp, eax
jl 0x4983a0
mov dword [0x7e42ec], 0x301910
mov dword [0x7e42ec], 0x301912
mov dword [0x7e42ec], 0x301913
jmp 0x497b36
mov dword [0x7e42ec], 0x30066f
mov eax, dword [esp + 0x38]
jmp 0x4980b7
mov dword [0x7e42ec], 0x30066f
xor eax, eax
jmp 0x498193
mov dword [0x7e42ec], 0x300676
mov eax, edx
jmp 0x4981c6
mov dword [0x7e42ec], 0x30190c
mov dword [0x7e42ec], 0x30185c
mov dword [0x7e42ec], 0x30185d
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call fcn.005593bf
sub esp, 4
test eax, eax
je 0x49837f
sub esi, ebp
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00488da0
sub esp, 0xc
jmp 0x498389
mov dword [0x7e42ec], 0x30185d
mov dword [0x7e42ec], 0x30190d
jmp 0x4982cd
mov dword [0x7e42ec], 0x30190e
mov dword [0x7e42ec], 0x30185c
mov dword [0x7e42ec], 0x30185d
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call fcn.005593bf
sub esp, 4
test eax, eax
je 0x4983ea
sub esi, ebp
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00488da0
sub esp, 0xc
jmp 0x4982cd
mov dword [0x7e42ec], 0x30185d
jmp 0x4982cd
mov dword [0x7e42ec], 0x300676
mov edx, ecx
jmp 0x497b95
mov dword [0x7e42ec], 0x30191b
mov dword [0x7e42ec], 0x30191d
xor eax, eax
jmp 0x497bbd