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

Disassembly:
push 0xffffffffffffffff
push 0x69895e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1fc
mov al, byte [esp + 0x210]
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor edi, edi
mov dword [esp + 0x24], ebx
test al, al
je 0x412ae3
mov ebp, dword [esp + 0x21c]
cmp ebp, 0x1b
jne 0x411dc7
call fcn.00430820
lea esi, [eax + 0x48]
mov eax, dword [eax + 0x4c]
cmp eax, edi
jle 0x412ae3
xor edx, edx
cmp eax, edi
jle 0x411d8b
mov eax, dword [esi + 8]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax + 0x10]
cmp ecx, edi
je 0x411d7d
cmp dword [eax + 0x40], edi
jge 0x411d83
dec dword [ecx + 0x128]
mov eax, dword [esi + 4]
inc edx
cmp edx, eax
jl 0x411d6b
mov ecx, esi
call fcn.004905d0
mov ecx, esi
call fcn.005758b0
mov ecx, ebx
call fcn.004307c0
mov ecx, eax
call fcn.004288c0
push edi
mov ecx, ebx
call fcn.004307c0
mov ecx, dword [eax + 0x150]
call fcn.0045dbf0
push edi
mov ecx, ebx
call fcn.00430950
jmp 0x412ae3
cmp ebp, 0xd
jne 0x41204a
mov ecx, ebx
call fcn.00430820
mov ecx, dword [eax + 0x4c]
mov ebp, dword [eax + 0x60]
lea esi, [eax + 0x48]
cmp ecx, edi
mov dword [esp + 0x1c], ebp
jle 0x412ae3
cmp ebp, edi
je 0x412ae3
xor eax, eax
cmp ecx, edi
jle 0x411e0d
mov ecx, dword [esi + 8]
inc eax
mov ecx, dword [ecx + eax*4 - 4]
mov byte [ecx + 0x14], 0
mov ecx, dword [esi + 4]
cmp eax, ecx
jl 0x411dfa
push esi
mov ecx, ebp
call fcn.0049b330
push esi
lea ecx, [esp + 0x58]
call fcn.00490580
mov ecx, esi
mov dword [esp + 0x214], edi
call fcn.004905d0
mov ecx, esi
call fcn.005758b0
mov ecx, ebx
call fcn.004307c0
mov ecx, eax
call fcn.004288c0
push edi
mov ecx, ebx
call fcn.00430950
push ebp
lea ecx, [esp + 0x64]
call fcn.0048c380
lea ecx, [esp + 0x3c]
mov byte [esp + 0x214], 1
call fcn.00575430
lea ecx, [esp + 0x48]
mov byte [esp + 0x214], 2
call fcn.00575430
push 0x41a00000
mov ecx, ebx
mov byte [esp + 0x218], 3
call fcn.00431190
fstp dword [esp + 0x14]
lea edx, [esp + 0x48]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x58]
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.0048cda0
cmp eax, edi
jle 0x411ff7
mov ecx, ebx
call fcn.00431b10
push 0x3f800000
push 0x3f800000
push 0x3f800000
call dword [0x6c7624]
mov eax, dword [esp + 0x40]
xor edi, edi
test eax, eax
jle 0x411ff0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x34]
mov eax, dword [edx + edi*4]
lea edx, [esp + 0x2c]
push edx
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [eax]
push edx
call fcn.004b3370
fld dword [esp + 0x18]
fadd dword [esp + 0x28]
fmul dword [0x6c8ac0]
fstp dword [esp + 0x24]
fld dword [esp + 0x30]
fadd dword [esp + 0x2c]
fmul dword [0x6c8ac0]
fstp dword [esp + 0x14]
call fcn.00581aa0
test eax, eax
je 0x411f3d
mov edx, dword [eax]
push 0
push 0x76735c
mov ecx, eax
call dword [edx + 8]
mov esi, eax
jmp 0x411f42
mov esi, 0x76735c
mov eax, dword [esp + 0x50]
sub esp, 8
lea ecx, [esp + 0x3c]
mov eax, dword [eax + edi*4]
fld dword [eax]
fmul dword [0x6ca6b4]
fstp qword [esp]
push str._.2f
push ecx
call fcn.00572aa0
push esi
lea edx, [esp + 0x24]
push eax
push edx
mov byte [esp + 0x230], 4
call fcn.005719c0
add esp, 0x1c
mov ecx, dword [esp + 0x24]
push ebp
push eax
mov eax, dword [esp + 0x1c]
push eax
push ecx
mov ecx, ebx
mov byte [esp + 0x224], 5
call fcn.00413c60
mov edx, dword [esp + 0x10]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x411fb8
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x411fb8
push eax
call dword [0x6c74ac]
add esp, 4
mov eax, dword [esp + 0x34]
mov byte [esp + 0x214], 3
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x411fdf
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x411fdf
push eax
call dword [0x6c74ac]
add esp, 4
mov eax, dword [esp + 0x40]
inc edi
cmp edi, eax
jl 0x411edc
mov ebp, dword [esp + 0x1c]
mov ecx, ebx
call fcn.00431e40
mov ecx, ebp
call fcn.00495040
lea ecx, [esp + 0x48]
mov byte [esp + 0x214], 2
call fcn.00470ab0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x214], 1
call fcn.004b0dc0
lea ecx, [esp + 0x60]
mov byte [esp + 0x214], 0
call fcn.0048c3c0
lea ecx, [esp + 0x54]
mov dword [esp + 0x214], 0xffffffff
call fcn.004904d0
jmp 0x412ae3
cmp ebp, 0x7f
jne 0x4120ef
mov ecx, ebx
call fcn.00430820
mov ecx, dword [eax + 0x60]
lea esi, [eax + 0x48]
mov eax, dword [eax + 0x4c]
cmp eax, edi
jle 0x412ae3
xor edi, edi
test eax, eax
jle 0x4120a5
mov edx, dword [esi + 8]
mov eax, dword [edx + edi*4]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x412097
mov ebp, dword [eax + 0x40]
test ebp, ebp
jl 0x412097
test ecx, ecx
je 0x41209d
cmp byte [eax + 0x14], 0
je 0x412097
dec dword [edx + 0x12c]
jmp 0x41209d
dec dword [edx + 0x128]
mov eax, dword [esi + 4]
inc edi
cmp edi, eax
jl 0x412071
test ecx, ecx
je 0x4120b1
push 1
push esi
call fcn.0049b850
mov ecx, esi
call fcn.004905d0
mov ecx, esi
call fcn.005758b0
mov ecx, ebx
call fcn.004307c0
mov ecx, eax
call fcn.004288c0
push 0
mov ecx, ebx
call fcn.004307c0
mov ecx, dword [eax + 0x150]
call fcn.0045dbf0
push 0
mov ecx, ebx
call fcn.00430950
jmp 0x412ae3
cmp ebp, 0x4b
je 0x4128fe
cmp ebp, 0x6b
je 0x4128fe
cmp ebp, 0x4c
je 0x4128fe
cmp ebp, 0x6c
je 0x4128fe
cmp ebp, 0x3c
je 0x41270f
cmp ebp, 0x2c
je 0x41270f
cmp ebp, 0x3e
je 0x41270f
cmp ebp, 0x2e
je 0x41270f
cmp ebp, 0x20
jne 0x412313
mov ecx, ebx
call fcn.00430820
mov eax, dword [eax + 0x60]
mov dword [esp + 0x1c], eax
cmp dword [eax + 0x18], edi
je 0x412ae3
mov ecx, ebx
call fcn.00430820
mov edi, eax
mov eax, dword [edi + 0x4c]
add edi, 0x48
test eax, eax
jle 0x412ae3
lea ecx, [esp + 0xb8]
call fcn.004b0f30
mov ecx, dword [edi + 4]
xor edx, edx
fld dword [0x6c8a88]
fld dword [0x6c8a88]
test ecx, ecx
mov dword [esp + 0x214], 8
jle 0x4121b1
mov esi, dword [edi + 8]
mov eax, dword [esi]
inc edx
add esi, 4
cmp edx, ecx
fadd dword [eax + 0x24]
fxch st(1)
fadd dword [eax + 0x28]
fxch st(1)
jl 0x41219d
xor ebp, ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ebp
cmp ecx, ebp
fild qword [esp + 0x34]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ebp
fdivr st(1)
fstp dword [esp + 0x30]
fstp st(0)
fild qword [esp + 0x34]
fdivr st(1)
fstp dword [esp + 0x2c]
fstp st(0)
jle 0x4122f3
mov eax, dword [edi + 8]
mov esi, dword [eax + ebp*4]
mov ecx, dword [esi + 0x10]
push ecx
lea ecx, [esp + 0xbc]
call fcn.004b20c0
mov edx, dword [esp + 0x1c]
lea ecx, [esi + 0x14]
push ecx
lea ecx, [esp + 0xbc]
mov al, byte [edx + 0x50]
mov byte [esp + 0x38], al
mov edx, dword [esp + 0x38]
push edx
call fcn.004b7c70
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push eax
push ecx
push 0x43340000
lea ecx, [esp + 0xc4]
call fcn.004b8d10
lea edx, [esp + 0x3c]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
lea ecx, [esp + 0xc8]
call fcn.004b3100
mov al, byte [esi + 0x1c]
test al, 1
je 0x412269
fld dword [esi + 0x20]
fadd dword [0x6c8a84]
fstp dword [esi + 0x20]
jmp 0x412275
or al, 1
mov dword [esi + 0x20], 0x43340000
mov byte [esi + 0x1c], al
fld dword [esi + 0x20]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
je 0x41229e
fld dword [esi + 0x20]
fadd dword [0x6c8a80]
fst dword [esi + 0x20]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x412285
fld dword [esi + 0x20]
fcomp dword [0x6c8a80]
fnstsw ax
test ah, 1
jne 0x4122c7
fld dword [esi + 0x20]
fsub dword [0x6c8a80]
fst dword [esi + 0x20]
fcomp dword [0x6c8a80]
fnstsw ax
test ah, 1
je 0x4122ae
fld dword [esp + 0x28]
fadd dword [esp + 0x14]
inc ebp
fmul dword [0x6c8ac0]
fstp dword [esi + 0x24]
fld dword [esp + 0x18]
fadd dword [esp + 0x3c]
fmul dword [0x6c8ac0]
fstp dword [esi + 0x28]
cmp ebp, dword [edi + 4]
jl 0x4121e3
push 0
mov ecx, ebx
call fcn.00430950
mov dword [esp + 0x214], 0xffffffff
lea ecx, [esp + 0xb8]
jmp 0x412ade
cmp ebp, 0x49
je 0x412589
cmp ebp, 0x69
je 0x412589
cmp ebp, 0x4f
je 0x412589
cmp ebp, 0x6f
je 0x412589
cmp ebp, 0x46
je 0x41251b
cmp ebp, 0x66
je 0x41251b
cmp ebp, 0x43
je 0x4124f0
cmp ebp, 0x63
je 0x4124f0
cmp ebp, 0x5a
je 0x412433
cmp ebp, 0x7a
je 0x412433
cmp ebp, 0x51
je 0x412385
cmp ebp, 0x71
je 0x412385
cmp ebp, 0x57
je 0x412385
cmp ebp, 0x77
jne 0x412ae3
lea eax, [esp + 0x1c]
push eax
call dword [0x6c7808]
mov edx, dword [ebx + 0x114]
lea ecx, [esp + 0x1c]
push ecx
push edx
call dword [0x6c7804]
fild dword [esp + 0x1c]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x24]
push eax
push ecx
fstp dword [esp + 0x2c]
fild dword [esp + 0x28]
mov ecx, ebx
fstp dword [esp + 0x18]
call fcn.00430fd0
cmp ebp, 0x51
je 0x4123d5
cmp ebp, 0x71
je 0x4123d5
fld dword [0x6ca6c0]
jmp 0x4123db
fld dword [0x6ca6bc]
fadd dword [ebx + 0x15c]
fcom dword [0x6c8a74]
fnstsw ax
test ah, 1
je 0x4123f6
fstp st(0)
fld dword [0x6c8a74]
fld dword [ebx + 0x15c]
fsub st(1)
push edi
mov ecx, ebx
fld st(0)
fmul dword [esp + 0x28]
fadd dword [ebx + 0x154]
fstp dword [ebx + 0x154]
fmul dword [esp + 0x14]
fadd dword [ebx + 0x158]
fstp dword [ebx + 0x158]
fstp dword [ebx + 0x15c]
call fcn.00430950
jmp 0x412ae3
mov ecx, ebx
call fcn.00430820
mov edi, dword [eax + 0x4c]
cmp edi, 2
jl 0x412ae3
xor esi, esi
test edi, edi
jle 0x41246f
mov edx, dword [eax + 0x50]
mov ecx, dword [edx]
mov ebp, dword [ecx + 0x10]
test ebp, ebp
je 0x412ae3
mov ebp, dword [ecx + 0x40]
test ebp, ebp
jl 0x412ae3
inc esi
add edx, 4
cmp esi, edi
jl 0x41244f
mov esi, dword [eax + 0x60]
test esi, esi
je 0x412ae3
mov ecx, esi
call fcn.00492690
mov edx, dword [0x8ddd48]
lea ecx, [esp + 0x78]
push edx
mov edi, eax
call fcn.004ec780
lea eax, [esp + 0x78]
mov ecx, ebx
push eax
mov dword [esp + 0x218], 9
call fcn.0040f8b0
mov ecx, esi
call fcn.00492690
cmp edi, eax
je 0x4124cf
push 1
mov ecx, ebx
call fcn.004307c0
mov ecx, eax
call fcn.0042a530
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0xc8]
lea ecx, [esp + 0x78]
mov dword [esp + 0x214], 0xffffffff
mov dword [esp + 0x78], vtable.wxObject.0
call fcn.0056f8d0
jmp 0x412ae3
mov ecx, ebx
call fcn.00430820
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x4c]
add eax, 0x48
cmp edx, edi
jle 0x412ae3
push eax
call fcn.004a1a30
test al, al
je 0x412ae3
jmp 0x411d99
mov ecx, ebx
call fcn.00430820
mov esi, dword [eax + 0x60]
cmp esi, edi
je 0x412ae3
lea eax, [esp + 0x3c]
push eax
call dword [0x6c7808]
mov edx, dword [ebx + 0x114]
lea ecx, [esp + 0x3c]
push ecx
push edx
call dword [0x6c7804]
fild dword [esp + 0x3c]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x14]
push eax
push ecx
fstp dword [esp + 0x1c]
fild dword [esp + 0x48]
mov ecx, ebx
fstp dword [esp + 0x20]
call fcn.00430fd0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
mov ecx, esi
call fcn.004a1f80
push edi
mov ecx, ebx
call fcn.00430950
jmp 0x412ae3
mov ecx, ebx
call fcn.00430820
mov eax, dword [eax + 0x60]
cmp dword [eax + 0x18], 2
je 0x4125ae
push 0x134
call fcn.004d46c0
add esp, 4
test al, al
je 0x412ae3
mov ecx, ebx
call fcn.00430820
mov ecx, eax
add ecx, 0x48
mov dword [esp + 0x18], ecx
mov edx, dword [ecx + 4]
cmp edx, edi
jle 0x412ae3
cmp edx, 1
jne 0x41260e
cmp ebp, 0x49
je 0x4125da
cmp ebp, 0x69
mov al, 4
jne 0x4125dc
mov al, 2
mov ecx, dword [ecx + 8]
mov edx, dword [ecx]
mov cl, byte [edx + 0x1c]
test al, cl
je 0x4125fc
not al
and al, cl
push edi
mov ecx, ebx
mov byte [edx + 0x1c], al
call fcn.00430950
jmp 0x412ae3
or cl, al
push edi
mov byte [edx + 0x1c], cl
mov ecx, ebx
call fcn.00430950
jmp 0x412ae3
fld dword [0x6c8a88]
fld dword [0x6c8a88]
cmp edx, edi
jle 0x412635
mov ecx, dword [ecx + 8]
mov esi, edx
mov eax, dword [ecx]
add ecx, 4
dec esi
fadd dword [eax + 0x24]
fxch st(1)
fadd dword [eax + 0x28]
fxch st(1)
jne 0x412623
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edi
fild qword [esp + 0x3c]
cmp edx, edi
mov dword [esp + 0x10], edi
fstp dword [esp + 0x14]
fdiv dword [esp + 0x14]
fstp dword [esp + 0x3c]
fdiv dword [esp + 0x14]
fstp dword [esp + 0x1c]
jle 0x4126ff
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
cmp ebp, 0x49
mov eax, dword [edx + 8]
mov esi, dword [eax + ecx*4]
je 0x4126a5
cmp ebp, 0x69
je 0x4126a5
push ebx
push edi
push ebx
lea edx, [esi + 0x28]
push 0
lea eax, [esi + 0x24]
push edx
push eax
call fcn.004aee80
mov al, byte [esi + 0x1c]
add esp, 0x18
test al, 2
je 0x4126a1
and al, 0xfd
jmp 0x4126c7
or al, 2
jmp 0x4126c7
push ebx
push edi
push 0
lea ecx, [esi + 0x28]
push edi
lea edx, [esi + 0x24]
push ecx
push edx
call fcn.004aee80
mov al, byte [esi + 0x1c]
add esp, 0x18
test al, 4
je 0x4126c5
and al, 0xfb
jmp 0x4126c7
or al, 4
test al, 1
mov byte [esi + 0x1c], al
je 0x4126d6
fld dword [esi + 0x20]
fchs
fstp dword [esi + 0x20]
fld dword [esi + 0x20]
fadd dword [0x6c8a84]
mov ecx, dword [esp + 0x18]
or al, 1
mov byte [esi + 0x1c], al
mov eax, dword [esp + 0x10]
inc eax
fstp dword [esi + 0x20]
mov edx, dword [ecx + 4]
mov dword [esp + 0x10], eax
cmp eax, edx
jl 0x412669
mov ecx, dword [esp + 0x24]
push 0
call fcn.00430950
jmp 0x412ae3
mov ecx, ebx
call fcn.00430820
mov eax, dword [eax + 0x60]
mov dword [esp + 0x3c], eax
cmp dword [eax + 0x18], edi
je 0x412ae3
mov ecx, ebx
call fcn.00430820
mov edi, eax
mov eax, dword [edi + 0x4c]
add edi, 0x48
test eax, eax
jle 0x412ae3
lea ecx, [esp + 0xb8]
call fcn.004b0f30
cmp ebp, 0x3c
mov dword [esp + 0x214], 7
mov dword [esp + 0x10], 0xc2340000
je 0x412766
cmp ebp, 0x2c
jne 0x41276e
mov dword [esp + 0x10], 0x42340000
mov ecx, dword [edi + 4]
xor edx, edx
fld dword [0x6c8a88]
fld dword [0x6c8a88]
test ecx, ecx
jle 0x41279a
mov esi, dword [edi + 8]
mov eax, dword [esi]
inc edx
add esi, 4
cmp edx, ecx
fadd dword [eax + 0x24]
fxch st(1)
fadd dword [eax + 0x28]
fxch st(1)
jl 0x412786
xor ebp, ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebp
cmp ecx, ebp
fild qword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebp
fdivr st(1)
fstp dword [esp + 0x2c]
fstp st(0)
fild qword [esp + 0x1c]
fdivr st(1)
fstp dword [esp + 0x34]
fstp st(0)
jle 0x4128de
mov ebx, dword [esp + 0x10]
mov edx, dword [edi + 8]
lea ecx, [esp + 0xb8]
mov esi, dword [edx + ebp*4]
mov eax, dword [esi + 0x10]
push eax
call fcn.004b20c0
mov ecx, dword [esp + 0x3c]
lea eax, [esi + 0x14]
push eax
mov dl, byte [ecx + 0x50]
mov byte [esp + 0x20], dl
mov ecx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0xc0]
call fcn.004b7c70
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
push edx
push eax
push ebx
lea ecx, [esp + 0xc4]
call fcn.004b8d10
lea ecx, [esp + 0x18]
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x38]
push eax
push ecx
lea ecx, [esp + 0xc8]
call fcn.004b3100
mov al, byte [esi + 0x1c]
test al, 1
je 0x412850
fld dword [esp + 0x10]
fadd dword [esi + 0x20]
fstp dword [esi + 0x20]
jmp 0x41285c
mov edx, dword [esp + 0x10]
or al, 1
mov byte [esi + 0x1c], al
mov dword [esi + 0x20], edx
fld dword [esi + 0x20]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
je 0x412885
fld dword [esi + 0x20]
fadd dword [0x6c8a80]
fst dword [esi + 0x20]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x41286c
fld dword [esi + 0x20]
fcomp dword [0x6c8a80]
fnstsw ax
test ah, 1
jne 0x4128ae
fld dword [esi + 0x20]
fsub dword [0x6c8a80]
fst dword [esi + 0x20]
fcomp dword [0x6c8a80]
fnstsw ax
test ah, 1
je 0x412895
fld dword [esp + 0x30]
fadd dword [esp + 0x28]
inc ebp
fmul dword [0x6c8ac0]
fstp dword [esi + 0x24]
fld dword [esp + 0x14]
fadd dword [esp + 0x18]
fmul dword [0x6c8ac0]
fstp dword [esi + 0x28]
cmp ebp, dword [edi + 4]
jl 0x4127d0
mov ebx, dword [esp + 0x24]
push 0
mov ecx, ebx
call fcn.00430950
mov dword [esp + 0x214], 0xffffffff
lea ecx, [esp + 0xb8]
jmp 0x412ade
mov ecx, ebx
call fcn.00430820
mov edi, eax
mov ecx, ebx
add edi, 0x48
call fcn.00430820
mov esi, dword [eax + 0x60]
mov eax, dword [edi + 4]
test eax, eax
mov dword [esp + 0x3c], esi
jle 0x412ae3
lea ecx, [esp + 0xb8]
call fcn.004b0f30
mov eax, dword [esi + 0x30]
cmp ebp, 0x4c
mov dword [esp + 0x214], 6
mov dword [esp + 0x10], eax
je 0x41294b
cmp ebp, 0x6c
jne 0x412955
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
mov ecx, dword [edi + 4]
xor ebp, ebp
fld dword [0x6c8a88]
fld dword [0x6c8a88]
xor edx, edx
cmp ecx, ebp
jle 0x412983
mov esi, dword [edi + 8]
mov eax, dword [esi]
inc edx
add esi, 4
cmp edx, ecx
fadd dword [eax + 0x24]
fxch st(1)
fadd dword [eax + 0x28]
fxch st(1)
jl 0x41296f
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebp
fild qword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebp
cmp ecx, ebp
fdivr st(1)
fstp dword [esp + 0x2c]
fstp st(0)
fild qword [esp + 0x1c]
fdivr st(1)
fstp dword [esp + 0x34]
fstp st(0)
jle 0x412ac1
mov ebx, dword [esp + 0x10]
mov ecx, dword [edi + 8]
mov esi, dword [ecx + ebp*4]
lea ecx, [esp + 0xb8]
mov edx, dword [esi + 0x10]
push edx
call fcn.004b20c0
mov eax, dword [esp + 0x3c]
lea edx, [esi + 0x14]
push edx
mov cl, byte [eax + 0x50]
mov byte [esp + 0x20], cl
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0xc0]
call fcn.004b7c70
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push ebx
lea ecx, [esp + 0xc4]
call fcn.004b8d10
lea eax, [esp + 0x18]
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x38]
push edx
push eax
lea ecx, [esp + 0xc8]
call fcn.004b3100
mov al, byte [esi + 0x1c]
test al, 1
je 0x412a37
fld dword [esp + 0x10]
fadd dword [esi + 0x20]
fstp dword [esi + 0x20]
jmp 0x412a43
mov ecx, dword [esp + 0x10]
or al, 1
mov byte [esi + 0x1c], al
mov dword [esi + 0x20], ecx
fld dword [esi + 0x20]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
je 0x412a6c
fld dword [esi + 0x20]
fadd dword [0x6c8a80]
fst dword [esi + 0x20]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 1
jne 0x412a53
fld dword [esi + 0x20]
fcomp dword [0x6c8a80]
fnstsw ax
test ah, 1
jne 0x412a95
fld dword [esi + 0x20]
fsub dword [0x6c8a80]
fst dword [esi + 0x20]
fcomp dword [0x6c8a80]
fnstsw ax
test ah, 1
je 0x412a7c
fld dword [esp + 0x30]
fadd dword [esp + 0x28]
inc ebp
fmul dword [0x6c8ac0]
fstp dword [esi + 0x24]
fld dword [esp + 0x14]
fadd dword [esp + 0x18]
fmul dword [0x6c8ac0]
fstp dword [esi + 0x28]
cmp ebp, dword [edi + 4]
jl 0x4129b7
mov ecx, dword [esp + 0x24]
push 0
call fcn.00430950
mov dword [esp + 0x214], 0xffffffff
lea ecx, [esp + 0xb8]
call fcn.004b1310
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x208
ret 8