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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x469653
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa0
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
push ebx
push esi
push edi
mov esi, ecx
mov ecx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
mov ecx, esi
mov dword [esp + 0xb4], esi
call fcn.00415500
fld qword [0x472130]
fstp qword [esi + 0x98]
xor ebx, ebx
fld qword [0x472128]
mov eax, 0xd
fstp qword [esi + 0xa0]
lea ecx, [esp + 0x18]
fld qword [0x46e5a8]
push ecx
mov ecx, dword [ebp + 0x1c]
fstp qword [esi + 0x88]
fld qword [0x46e5a8]
push 0x472404
fstp qword [esi + 0x80]
mov dword [esp + 0xbc], ebx
fld qword [0x46e5a8]
mov dword [esi], 0x4723f8
fstp qword [esi + 0x78]
mov dword [esp + 0x98], eax
fld qword [0x46e5a8]
mov dword [esp + 0x20], eax
fstp qword [esi + 0x70]
mov dword [esp + 0x68], eax
fld qword [0x470ac0]
mov dword [esp + 0x40], eax
fstp qword [esi + 0xb8]
mov dword [esp + 0x58], eax
fld qword [0x4715b8]
mov dword [esp + 0x78], eax
fstp qword [esi + 0xc0]
mov dword [esp + 0x88], eax
fld qword [0x4723f0]
mov dword [esi + 0xb0], ebx
fstp qword [esi + 0xc8]
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xdc], ebx
mov dword [esi + 0xe0], ebx
mov dword [esi + 0xe4], ebx
call fcn.00409ec0
cmp dword [eax], 6
je 0x41733f
push 0x4723c0
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
lea ecx, [esp + 0x18]
jmp 0x418133
cmp dword [esp + 0x18], 6
je 0x41734a
xor eax, eax
jmp 0x41735c
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x90]
push edx
push ebx
call fcn.004011a0
cmp dword [eax], 7
je 0x417375
push 0x47239c
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
jmp 0x418123
lea ecx, [esp + 0x18]
call fcn.00423a50
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x18]
push eax
mov edi, ecx
push 0x46fbd0
mov dword [esp + 0x34], edi
call fcn.00409ec0
test eax, eax
jne 0x4173b2
push 0x47236c
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
jmp 0x418123
push 0x47235c
lea ecx, [esp + 0x1c]
call fcn.004062f0
test eax, eax
je 0x4173cd
mov dword [esi + 0x24], 5
jmp 0x4173ea
push 0x47234c
lea ecx, [esp + 0x1c]
call fcn.004062f0
test eax, eax
je 0x418103
mov dword [esi + 0x24], 7
lea ecx, [esp + 0x18]
call fcn.00423a50
mov ecx, dword [ebp + 8]
push edi
push ecx
mov ecx, esi
call fcn.004155a0
mov ecx, esi
call fcn.00415bd0
lea edx, [esp + 0x18]
push edx
push 0x472340
mov ecx, edi
call fcn.00409ec0
test eax, eax
je 0x417429
cmp dword [esp + 0x18], 1
jne 0x417429
mov eax, dword [esp + 0x20]
mov dword [esi + 0xc], eax
lea ecx, [esp + 0x18]
call fcn.00423a50
lea ecx, [esp + 0x18]
push ecx
push 0x472330
mov ecx, edi
call fcn.00409ec0
mov ecx, dword [eax]
mov edi, 7
cmp ecx, edi
je 0x417462
push 0x4722f4
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
jmp 0x418123
cmp dword [esp + 0x18], edi
jne 0x417494
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x60]
push edx
push 0x4722e8
call fcn.00409ec0
cmp dword [esp + 0x18], edi
jne 0x417494
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x38]
push eax
push 0x4722dc
call fcn.00409ec0
mov ecx, dword [esp + 0x60]
mov eax, 3
cmp ecx, eax
jne 0x4180e0
cmp dword [esp + 0x38], eax
jne 0x4180e0
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x6c]
push 0x2d
call fcn.00406240
mov ecx, eax
call fcn.00420d90
mov ecx, eax
call fcn.00420dc0
lea ecx, [esp + 0x38]
mov edi, eax
call fcn.00423a50
lea ecx, [esp + 0x60]
call fcn.00423a50
lea ecx, [esp + 0x18]
call fcn.00423a50
mov edx, dword [ebp + 0x1c]
push 0x10
push edx
mov ecx, esi
call fcn.00415ac0
cmp eax, ebx
mov dword [esi + 0xb4], eax
jne 0x41755f
push 0x4722cc
mov ecx, edi
call fcn.00407c30
test eax, eax
je 0x41755f
push 0x4722c0
mov ecx, edi
call fcn.00407c30
test eax, eax
je 0x41755f
mov ecx, dword [0x4994bc]
push edi
call fcn.0041ef00
cmp eax, ebx
mov dword [esi + 0xb4], eax
jne 0x41755f
mov eax, dword [edi + 4]
push eax
push 0x47229c
push 0xffffffffffffffff
call fcn.00401070
add esp, 0xc
mov ecx, edi
call fcn.00420d60
push edi
call fcn.004588cd
add esp, 4
jmp 0x41812c
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [ebp + 0x1c]
push 0x4720c8
call fcn.00409ec0
cmp dword [eax], 4
je 0x4175a2
push 0x472268
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
cmp edi, ebx
je 0x418123
mov ecx, edi
call fcn.00420d60
push edi
call fcn.004588cd
add esp, 4
jmp 0x418123
push 8
call fcn.004588d2
add esp, 4
mov dword [esp + 0x4c], eax
cmp eax, ebx
mov byte [esp + 0xb4], 1
je 0x4175cc
mov edx, dword [esp + 0x20]
push edx
mov ecx, eax
call fcn.00420c90
mov ebx, eax
jmp 0x4175ce
xor ebx, ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0
call fcn.00423a50
mov ecx, dword [0x4994bc]
push ebx
push edi
call fcn.0041ef50
test eax, eax
mov dword [esi + 0xb0], eax
jne 0x417632
mov eax, dword [edi + 4]
mov ecx, dword [ebx + 4]
push eax
push ecx
push 0x472234
push 0xffffffffffffffff
call fcn.00401070
add esp, 0x10
mov ecx, edi
call fcn.00420d60
push edi
call fcn.004588cd
add esp, 4
mov ecx, ebx
call fcn.00420d60
push ebx
call fcn.004588cd
add esp, 4
jmp 0x41812c
test edi, edi
je 0x417646
mov ecx, edi
call fcn.00420d60
push edi
call fcn.004588cd
add esp, 4
test ebx, ebx
je 0x41765a
mov ecx, ebx
call fcn.00420d60
push ebx
call fcn.004588cd
add esp, 4
cmp dword [esi + 0x24], 7
jne 0x417763
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x18]
push edx
push 0x472228
call fcn.00409ec0
mov edi, dword [esp + 0x18]
cmp edi, 8
jne 0x417734
push 0x80
mov dword [esi + 0xe4], 0
mov dword [esp + 0x14], 0x40
call fcn.00421140
mov ecx, dword [esp + 0x24]
mov dword [esi + 0xe0], eax
mov eax, dword [ecx]
add esp, 4
call dword [eax + 8]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
call dword [edx + 0x10]
mov edi, eax
cmp edi, 0xffffffff
je 0x41775a
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x41775a
mov ecx, dword [esp + 0x10]
cmp dword [esi + 0xe4], ecx
jne 0x417707
mov edx, ecx
mov ecx, dword [esi + 0xe0]
lea eax, [edx + edx]
mov dword [esp + 0x10], eax
add eax, eax
push eax
push ecx
call fcn.00421170
add esp, 8
mov dword [esi + 0xe0], eax
mov edx, dword [esi + 0xe4]
mov eax, dword [esi + 0xe0]
shl edi, 8
add edi, ebx
mov word [eax + edx*2], di
inc dword [esi + 0xe4]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
call dword [edx + 0x10]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4176c6
jmp 0x41775a
push 0x470060
lea ecx, [esp + 0x1c]
call fcn.004062f0
test eax, eax
jne 0x41775a
cmp edi, 5
je 0x41775a
push 0x472200
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
lea ecx, [esp + 0x18]
call fcn.00423a50
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0x18]
push eax
push 0x4721fc
mov ecx, edi
call fcn.00409ec0
cmp dword [eax], 1
jne 0x41778d
fild dword [esp + 0x20]
fmul qword [0x470a88]
fstp qword [esi + 0xb8]
lea ecx, [esp + 0x18]
call fcn.00423a50
lea ecx, [esp + 0x18]
push ecx
push 0x46fa58
mov ecx, edi
call fcn.00409ec0
cmp dword [eax], 6
jne 0x417acc
xor eax, eax
mov ebx, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 2
mov dword [esp + 0x30], ebx
jmp 0x4177d0
mov edx, dword [esp + 0x18]
cmp edx, 6
mov ecx, dword [esp + 0x20]
je 0x4177e1
xor eax, eax
jmp 0x4177e4
mov eax, dword [ecx + 0xc]
cmp ebx, eax
jge 0x417aab
cmp edx, 6
jne 0x417820
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x60]
push edx
push eax
call fcn.004011a0
mov edx, dword [esp + 0x18]
cmp edx, 6
jne 0x41781c
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x24]
push ebx
call fcn.004011a0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x60], 1
jne 0x417a6e
mov edi, dword [esp + 0x38]
cmp edi, 1
jne 0x41793f
cmp edx, 6
je 0x417841
xor eax, eax
jmp 0x417844
mov eax, dword [ecx + 0xc]
cmp dword [esp + 0x14], eax
jge 0x417a6e
cmp edx, 6
je 0x417857
xor eax, eax
jmp 0x417866
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x50]
push edx
push eax
call fcn.004011a0
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x417907
mov eax, dword [esp + 0x34]
cmp dword [esi + 0xd4], eax
jne 0x4178a1
mov ecx, dword [esi + 0xd0]
add eax, 0x10
mov dword [esp + 0x34], eax
shl eax, 4
push eax
push ecx
call fcn.00421170
add esp, 8
mov dword [esi + 0xd0], eax
mov edx, dword [esi + 0xd4]
mov eax, dword [esi + 0xd0]
mov ecx, dword [esp + 0x68]
shl edx, 4
mov dword [edx + eax], ecx
mov edx, dword [esi + 0xd4]
mov eax, dword [esi + 0xd0]
mov ecx, dword [esp + 0x40]
shl edx, 4
mov dword [edx + eax + 4], ecx
cmp dword [esp + 0x50], 1
jne 0x4178db
fild dword [esp + 0x58]
jmp 0x4178df
fld qword [esp + 0x58]
mov edx, dword [esi + 0xd4]
fmul qword [0x470a88]
mov eax, dword [esi + 0xd0]
shl edx, 4
fstp qword [edx + eax + 8]
mov eax, dword [esi + 0xd4]
inc eax
mov dword [esi + 0xd4], eax
jmp 0x417916
push 0x4721dc
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
lea ecx, [esp + 0x50]
call fcn.00423a50
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, 3
add edi, eax
add ebx, eax
add ecx, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
jmp 0x417a90
cmp edi, 6
jne 0x417a6e
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0xc]
mov edx, dword [esi + 0xd4]
lea ebx, [eax + edx]
cmp ebx, dword [esp + 0x34]
jle 0x41798a
mov ecx, dword [esi + 0xd0]
lea eax, [eax + edx + 0xf]
and eax, 0xfffffff0
mov dword [esp + 0x34], eax
shl eax, 4
push eax
push ecx
call fcn.00421170
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x40]
add esp, 8
mov dword [esi + 0xd0], eax
mov edx, dword [esp + 0x68]
mov dword [esp + 0x4c], edx
xor ebx, ebx
cmp edi, 6
je 0x41799d
xor eax, eax
jmp 0x4179a0
mov eax, dword [ecx + 0xc]
cmp ebx, eax
jge 0x417a4d
cmp edi, 6
je 0x4179b1
xor eax, eax
jmp 0x4179bc
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.004011a0
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x417a27
mov ecx, dword [esi + 0xd4]
mov edx, dword [esi + 0xd0]
mov eax, dword [esp + 0x4c]
shl ecx, 4
mov dword [ecx + edx], eax
mov ecx, dword [esi + 0xd4]
mov edx, dword [esi + 0xd0]
shl ecx, 4
mov dword [ecx + edx + 4], eax
cmp dword [esp + 0x50], 1
jne 0x4179fd
fild dword [esp + 0x58]
jmp 0x417a01
fld qword [esp + 0x58]
mov ecx, dword [esi + 0xd4]
fmul qword [0x470a88]
mov edx, dword [esi + 0xd0]
shl ecx, 4
inc eax
fstp qword [ecx + edx + 8]
mov dword [esp + 0x4c], eax
inc dword [esi + 0xd4]
jmp 0x417a36
push 0x4721dc
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
lea ecx, [esp + 0x50]
call fcn.00423a50
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
inc ebx
jmp 0x417994
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov eax, 2
add edi, eax
add ebx, eax
add ecx, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
jmp 0x417a90
push 0x4721dc
push 0xffffffffffffffff
call fcn.00401070
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add esp, 8
inc edx
inc ebx
inc eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], ebx
call fcn.00423a50
lea ecx, [esp + 0x60]
call fcn.00423a50
jmp 0x4177d0
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0xd0]
push 0x415f30
push 0x10
push eax
push ecx
call fcn.0045a140
mov edi, dword [esp + 0x3c]
add esp, 0x10
lea ecx, [esp + 0x18]
call fcn.00423a50
lea edx, [esp + 0x18]
push edx
push 0x4721d8
mov ecx, edi
call fcn.00409ec0
mov ecx, dword [eax]
mov ebx, 6
cmp ecx, ebx
jne 0x417b95
cmp dword [esp + 0x18], ebx
jne 0x417b95
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0xc], 2
jne 0x417b95
lea eax, [esp + 0x60]
push eax
push 0
call fcn.004011a0
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x417b41
cmp dword [esp + 0x18], 1
jne 0x417b31
fild dword [esp + 0x20]
jmp 0x417b35
fld qword [esp + 0x20]
fmul qword [0x470a88]
fstp qword [esi + 0xc8]
lea ecx, [esp + 0x60]
call fcn.00423a50
cmp dword [esp + 0x18], ebx
je 0x417b54
xor eax, eax
jmp 0x417b64
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x24]
push 1
call fcn.004011a0
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x417b8c
cmp dword [esp + 0x18], 1
jne 0x417b7c
fild dword [esp + 0x20]
jmp 0x417b80
fld qword [esp + 0x20]
fmul qword [0x470a88]
fstp qword [esi + 0xc0]
lea ecx, [esp + 0x60]
call fcn.00423a50
lea ecx, [esp + 0x18]
call fcn.00423a50
lea edx, [esp + 0x18]
push edx
push 0x4721d4
mov ecx, edi
call fcn.00409ec0
cmp dword [eax], ebx
jne 0x4180bf
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], 4
mov dword [esp + 0x14], 1
mov edi, dword [esp + 0x18]
cmp edi, 6
mov ebx, dword [esp + 0x20]
je 0x417be2
xor eax, eax
jmp 0x417be5
mov eax, dword [ebx + 0xc]
cmp dword [esp + 0x14], eax
jge 0x4180a2
cmp edi, 6
jne 0x417c29
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x60]
push eax
push ecx
mov ecx, ebx
call fcn.004011a0
mov edi, dword [esp + 0x18]
cmp edi, 6
jne 0x417c25
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x38]
push edx
push eax
call fcn.004011a0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0x60], 1
jne 0x418061
mov eax, dword [esp + 0x38]
cmp eax, 1
jne 0x417e37
cmp edi, 6
je 0x417c4a
xor eax, eax
jmp 0x417c4d
mov eax, dword [ebx + 0xc]
cmp dword [esp + 0x2c], eax
jge 0x418061
cmp edi, 6
je 0x417c60
xor eax, eax
jmp 0x417c7c
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x50]
push ecx
add edx, 2
push edx
mov ecx, ebx
call fcn.004011a0
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x417de2
cmp edi, 6
je 0x417c94
xor eax, eax
jmp 0x417cb0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x70]
add ecx, 3
push eax
push ecx
mov ecx, ebx
call fcn.004011a0
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x417de2
cmp edi, 6
je 0x417cc8
xor eax, eax
jmp 0x417cdc
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x80]
push edx
push eax
mov ecx, ebx
call fcn.004011a0
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x417de2
mov eax, dword [esp + 0x34]
cmp dword [esi + 0xdc], eax
jne 0x417d17
mov ecx, dword [esi + 0xd8]
add eax, 0x10
mov dword [esp + 0x34], eax
shl eax, 5
push eax
push ecx
call fcn.00421170
add esp, 8
mov dword [esi + 0xd8], eax
mov edx, dword [esi + 0xdc]
mov eax, dword [esi + 0xd8]
mov ecx, dword [esp + 0x68]
shl edx, 5
mov dword [edx + eax], ecx
mov edx, dword [esi + 0xdc]
mov eax, dword [esi + 0xd8]
mov ecx, dword [esp + 0x40]
shl edx, 5
mov dword [edx + eax + 4], ecx
mov ecx, dword [esp + 0x50]
mov eax, 1
cmp ecx, eax
jne 0x417d57
fild dword [esp + 0x58]
jmp 0x417d5b
fld qword [esp + 0x58]
mov edx, dword [esi + 0xdc]
fmul qword [0x470a88]
mov ecx, dword [esi + 0xd8]
shl edx, 5
fstp qword [edx + ecx + 8]
mov ecx, dword [esp + 0x70]
cmp ecx, eax
jne 0x417d82
fild dword [esp + 0x78]
jmp 0x417d86
fld qword [esp + 0x78]
mov edx, dword [esi + 0xdc]
fmul qword [0x470a88]
mov ecx, dword [esi + 0xd8]
shl edx, 5
fstp qword [edx + ecx + 0x10]
mov ecx, dword [esp + 0x80]
cmp ecx, eax
jne 0x417db3
fild dword [esp + 0x88]
jmp 0x417dba
fld qword [esp + 0x88]
mov edx, dword [esi + 0xdc]
fmul qword [0x470a88]
mov eax, dword [esi + 0xd8]
shl edx, 5
fstp qword [edx + eax + 0x18]
mov eax, dword [esi + 0xdc]
inc eax
mov dword [esi + 0xdc], eax
jmp 0x417df1
push 0x4721ac
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
lea ecx, [esp + 0x80]
call fcn.00423a50
lea ecx, [esp + 0x70]
call fcn.00423a50
lea ecx, [esp + 0x50]
call fcn.00423a50
mov eax, 5
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
add edi, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x2c], ecx
jmp 0x41808b
cmp eax, 6
jne 0x418061
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebx + 0xc]
mov edi, dword [esi + 0xdc]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x34]
add eax, edi
cmp eax, edx
jle 0x417e9b
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esi + 0xd8]
lea edi, [ecx + edi + 0xf]
and edi, 0xfffffff0
mov dword [esp + 0x34], edi
shl edi, 5
push edi
push edx
call fcn.00421170
mov ebx, dword [esp + 0x48]
add esp, 8
mov dword [esi + 0xd8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], 0
mov edi, dword [esp + 0x38]
cmp edi, 6
je 0x417eb8
xor eax, eax
jmp 0x417ebb
mov eax, dword [ebx + 0xc]
cmp dword [esp + 0x30], eax
jge 0x418057
cmp edi, 6
je 0x417ece
xor eax, eax
jmp 0x417ee7
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x50]
push ecx
push edx
mov ecx, ebx
call fcn.004011a0
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x418018
cmp edi, 6
je 0x417eff
xor eax, eax
jmp 0x417f18
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x70]
push eax
push ecx
mov ecx, ebx
call fcn.004011a0
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x418018
cmp edi, 6
je 0x417f30
xor eax, eax
jmp 0x417f44
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x80]
push edx
push eax
mov ecx, ebx
call fcn.004011a0
mov ecx, eax
call fcn.0040bc80
test eax, eax
je 0x418018
mov ecx, dword [esi + 0xd4]
mov edx, dword [esi + 0xd8]
mov eax, dword [esp + 0x4c]
shl ecx, 5
mov dword [ecx + edx], eax
mov ecx, dword [esi + 0xd4]
mov edx, dword [esi + 0xd8]
shl ecx, 5
mov dword [ecx + edx + 4], eax
mov edx, dword [esp + 0x50]
mov ecx, 1
cmp edx, ecx
jne 0x417f8f
fild dword [esp + 0x58]
jmp 0x417f93
fld qword [esp + 0x58]
mov edx, dword [esi + 0xd4]
fmul qword [0x470a88]
mov edi, dword [esi + 0xd8]
shl edx, 5
fstp qword [edx + edi + 8]
mov edx, dword [esp + 0x70]
cmp edx, ecx
jne 0x417fba
fild dword [esp + 0x78]
jmp 0x417fbe
fld qword [esp + 0x78]
mov edx, dword [esi + 0xd4]
fmul qword [0x470a88]
mov edi, dword [esi + 0xd8]
shl edx, 5
fstp qword [edx + edi + 0x10]
mov edx, dword [esp + 0x80]
cmp edx, ecx
jne 0x417feb
fild dword [esp + 0x88]
jmp 0x417ff2
fld qword [esp + 0x88]
mov ecx, dword [esi + 0xd4]
fmul qword [0x470a88]
mov edx, dword [esi + 0xd8]
shl ecx, 5
inc eax
fstp qword [ecx + edx + 0x18]
mov dword [esp + 0x4c], eax
inc dword [esi + 0xdc]
jmp 0x418027
push 0x4721ac
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
lea ecx, [esp + 0x80]
call fcn.00423a50
lea ecx, [esp + 0x70]
call fcn.00423a50
lea ecx, [esp + 0x50]
call fcn.00423a50
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x40]
inc eax
mov dword [esp + 0x30], eax
jmp 0x417eab
mov eax, 2
jmp 0x417e14
push 0x4721ac
push 0xffffffffffffffff
call fcn.00401070
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
add esp, 8
inc edx
inc ecx
inc eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x38]
call fcn.00423a50
lea ecx, [esp + 0x60]
call fcn.00423a50
jmp 0x417bd1
mov eax, dword [esi + 0xdc]
mov ecx, dword [esi + 0xd8]
push 0x415f30
push 0x20
push eax
push ecx
call fcn.0045a140
add esp, 0x10
lea ecx, [esp + 0x18]
call fcn.00423a50
lea ecx, [esp + 0x90]
call fcn.00423a50
mov dword [esi + 0xa8], 1
jmp 0x418138
push 0x472170
push 0xffffffffffffffff
call fcn.00401070
add esp, 8
lea ecx, [esp + 0x38]
call fcn.00423a50
lea ecx, [esp + 0x60]
call fcn.00423a50
jmp 0x418123
cmp dword [esp + 0x18], 4
mov eax, dword [esp + 0x20]
je 0x418113
mov eax, 0x46fbcc
push eax
push 0x472144
push 0xffffffffffffffff
call fcn.00401070
add esp, 0xc
lea ecx, [esp + 0x18]
call fcn.00423a50
lea ecx, [esp + 0x90]
call fcn.00423a50
mov ecx, dword [esp + 0xac]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x18