Function at 0x43c74c
Capabilities:
Check http status code
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1c58
call fcn.004ce570
mov eax, dword [0x52382c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x1bb4], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [0x633664], eax
mov dword [ebp - 0x1a88], 0
test eax, eax
je 0x43c79a
mov edi, dword [ebp - 0x1a88]
mov esi, eax
jmp 0x43c710
mov ecx, dword [ebp - 0x1bb4]
fld qword [0x4e5d08]
mov eax, dword [ecx + edi]
fldz
fld qword [0x4e5e68]
lea ebx, [ecx + edi]
add edi, 4
mov dword [ebp - 0x1a88], edi
cmp eax, 0x16f
ja case.0x43c745.2
movzx edx, byte [eax + 0x448130]
jmp dword [edx*4 + 0x447f68]
mov eax, dword [0x526908]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x46
je 0x445f8e
cmp eax, 0x48
je 0x445f8e
mov eax, 0x12d
cmp dword [0x6a4154], eax
jge 0x43c78f
mov dword [0x6a4154], eax
jmp 0x43c78f
xor eax, eax
mov dword [0x6a4154], eax
mov dword [0x41ebcf4], eax
fstp st(2)
fstp st(1)
fstp st(0)
mov esi, dword [ebp + 0xc]
cmp edi, esi
jb 0x43c710
mov eax, dword [ebp - 0x1a88]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
fstp st(2)
fstp st(1)
fstp st(0)
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x568960], eax
jmp 0x43c78f
mov eax, dword [0x526908]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x47
je 0x43c7dd
cmp eax, 0x49
jne 0x447eec
mov ax, word [ebx + 4]
add edi, 0x394
mov word [0x6a307c], ax
mov dword [ebp - 0x1a8c], edi
cmp edi, esi
ja 0x447ee1
movzx ecx, word [ebx + 4]
push ecx
call fcn.00406270
movzx edi, ax
mov edx, 0x270f
add esp, 4
mov dword [ebp - 0x1a98], edi
cmp di, dx
je 0x43c83c
movzx eax, di
imul eax, eax, 0x108c
add eax, dword [0x56895c]
push 0x108c
push 0
push eax
call fcn.004cce10
add esp, 0xc
jmp 0x43c878
mov ecx, dword [0x56895c]
mov eax, 1
jmp 0x43c850
movzx edx, ax
imul edx, edx, 0x108c
cmp byte [edx + ecx], 0
jne 0x43c867
movzx edi, ax
mov eax, 0x1388
inc eax
mov edx, 0x1388
cmp ax, dx
jb 0x43c850
mov dword [ebp - 0x1a98], edi
mov eax, 0x270f
cmp di, ax
jae 0x43d24d
mov eax, dword [0x1a3927c]
push 0xc
lea ecx, [ebx + 0xc]
lea edx, [eax + eax*4]
push ecx
lea eax, [edx*8 + 0x641960]
push eax
call fcn.004ccfca
add esp, 0xc
test eax, eax
jne 0x447ef1
mov ecx, dword [0x56895c]
movzx esi, di
imul esi, esi, 0x108c
push 0x108c
push eax
lea edx, [esi + ecx]
push edx
call fcn.004cce10
mov ecx, dword [0x56895c]
mov word [0x5f375c], di
movzx eax, word [ebx + 4]
mov word [esi + ecx + 0x16], ax
movzx edx, word [ebx + 6]
mov dword [ebp - 0x1a84], edx
mov eax, dword [0x56895c]
add esp, 0xc
fild dword [ebp - 0x1a84]
fdiv qword [0x4e5d08]
fstp dword [esi + eax + 0x15c]
movzx ecx, byte [ebx + 8]
mov edx, dword [0x56895c]
mov byte [esi + edx + 6], cl
mov al, byte [ebx + 9]
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 7], al
mov dl, byte [ebx + 0xb]
mov eax, dword [0x56895c]
mov byte [esi + eax + 0xd], dl
mov eax, dword [0x1a3927c]
mov ecx, dword [0x56895c]
lea eax, [eax + eax*4]
mov edx, dword [eax*8 + 0x641960]
mov dword [esi + ecx + 0x94], edx
mov edx, dword [eax*8 + 0x641964]
mov dword [esi + ecx + 0x98], edx
lea eax, [eax*8 + 0x641960]
mov eax, dword [eax + 8]
mov dword [esi + ecx + 0x9c], eax
mov edx, dword [0x56895c]
lea ecx, [esi + ecx + 0x94]
movzx ecx, byte [ebx + 0x18]
mov byte [esi + edx + 0xc], cl
movzx eax, byte [ebx + 0x18]
mov eax, dword [eax*4 + 0x5ece30]
add eax, dword [0x1a3ba10]
mov ecx, dword [0x56895c]
mov edx, dword [eax]
mov dword [esi + ecx + 0xa0], edx
mov edx, dword [eax + 4]
mov dword [esi + ecx + 0xa4], edx
mov eax, dword [eax + 8]
mov dword [esi + ecx + 0xa8], eax
cmp byte [ebx + 0x1a], 0x1e
mov edx, dword [0x56895c]
lea ecx, [esi + ecx + 0xa0]
movzx ecx, byte [ebx + 0x19]
sbb eax, eax
and eax, 0xfffffff6
add eax, 0x507
add eax, ecx
mov eax, dword [eax*4 + 0x5ec120]
add eax, dword [0x1a3ba10]
lea ecx, [esi + edx + 0xac]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0x11], 0
mov edx, dword [0x56895c]
mov byte [esi + edx + 0xf], 0
movzx eax, word [ebx + 0x2c]
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x1c8], eax
movzx edx, word [ebx + 0x2e]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x1cc], edx
movzx ecx, word [ebx + 0x30]
mov edx, dword [0x56895c]
mov word [esi + edx + 0x1d0], cx
fldz
movzx eax, word [ebx + 0x32]
mov ecx, dword [0x56895c]
mov word [esi + ecx + 0x1d2], ax
mov dx, word [ebx + 0x34]
mov eax, dword [0x56895c]
mov word [esi + eax + 0x1d4], dx
movzx ecx, word [ebx + 0x36]
mov edx, dword [0x56895c]
mov word [esi + edx + 0x1d6], cx
movzx eax, byte [ebx + 0x38]
mov dword [0x5659b8], eax
movzx ecx, byte [ebx + 0x3a]
mov dword [0x5ea9dc], ecx
movzx edx, byte [ebx + 0x39]
mov dword [0x631d54], edx
movzx eax, byte [ebx + 0x3b]
mov dword [0x568958], eax
movzx ecx, byte [ebx + 0x3c]
mov dword [0x5e9f5c], ecx
movzx edx, byte [ebx + 0x3e]
mov dword [0x6a44dc], edx
movzx eax, byte [ebx + 0x3d]
mov dword [0x6a4158], eax
movzx ecx, byte [ebx + 0x3f]
mov eax, dword [0x56895c]
mov dword [0x633874], ecx
movzx edx, word [ebx + 0x40]
mov dword [esi + eax + 0x1d8], edx
movzx ecx, word [ebx + 0x42]
mov dword [0x1a38da4], ecx
movzx edx, word [ebx + 0x44]
mov dword [0x41ebdf0], edx
movzx eax, byte [ebx + 0x48]
mov dword [0x632100], eax
movzx ecx, byte [ebx + 0x49]
mov dword [0x41ebcf0], ecx
movzx edx, byte [ebx + 0x4a]
mov dword [0x6a438c], edx
movzx eax, word [ebx + 0x4c]
mov edx, dword [0x56895c]
mov dword [0x1a38324], eax
movzx ecx, word [ebx + 0x4e]
mov dword [0x5e8e20], ecx
lea eax, [esi + 0x184]
fst dword [esi + edx + 0x160]
mov ecx, 8
mov edx, 0x270f
mov edi, dword [0x56895c]
fst dword [eax + edi - 0x20]
mov edi, dword [0x56895c]
fst dword [eax + edi]
mov edi, dword [0x56895c]
mov dword [eax + edi + 0x24], edx
add eax, 4
dec ecx
jne 0x43cb33
movzx eax, byte [ebx + 0x4b]
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0x14], al
mov edx, dword [0x56895c]
mov byte [esi + edx + 5], 1
mov ecx, dword [0x56895c]
xor eax, eax
mov word [esi + ecx + 0x18], ax
mov eax, dword [0x1a3927c]
mov ecx, dword [0x56895c]
lea edx, [eax + eax*4]
movzx eax, byte [edx*8 + 0x641971]
mov byte [esi + ecx + 0xa], al
mov eax, dword [0x1a3927c]
mov ecx, dword [0x56895c]
lea edx, [eax + eax*4]
movzx eax, byte [edx*8 + 0x641972]
mov byte [esi + ecx + 0xb], al
mov edx, dword [ebx + 0x1c]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x50], edx
mov ecx, dword [ebx + 0x20]
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x54], ecx
mov eax, dword [ebx + 0x24]
mov dword [0x6a31fc], eax
cmp eax, 0x5f5e0ff
jbe 0x43cbe2
mov dword [0x6a31fc], 0
movzx eax, word [ebx + 0x28]
mov dword [0x5f0630], eax
movzx ecx, word [ebx + 0x2a]
mov dword [0x41ebcf8], ecx
mov ecx, dword [0x56895c]
mov dword [0x41eb8b4], 0
movzx edx, byte [ebx + 0x47]
mov dword [0x6a30d0], edx
movzx eax, word [ebx + 0x50]
mov dword [ebp - 0x1a84], eax
mov edi, esi
fild dword [ebp - 0x1a84]
fstp dword [esi + ecx + 0xb8]
movzx edx, word [ebx + 0x52]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
mov dword [ebp - 0x1a84], 0xa
fstp dword [esi + eax + 0xbc]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [esi + eax + 0xd8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xbc]
fstp dword [esi + eax + 0xdc]
mov ecx, dword [0x56895c]
lea eax, [ebx + 0x54]
fst dword [esi + ecx + 0xd4]
mov dl, byte [eax]
mov ecx, dword [0x56895c]
mov byte [edi + ecx + 0x1080], dl
inc eax
inc edi
dec dword [ebp - 0x1a84]
jne 0x43cc84
lea eax, [ebx + 0x63]
mov ecx, 0x1a82f78
mov edx, 0x31
movzx edi, byte [eax]
mov dword [ecx], edi
inc eax
add ecx, 4
dec edx
jne 0x43ccaa
mov edx, dword [ebx + 0x94]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x234], edx
mov cl, byte [ebx + 0x60]
mov byte [0x53b0b2], cl
mov dl, byte [ebx + 0x61]
mov ecx, dword [0x56895c]
mov byte [0x53b136], dl
mov al, byte [ebx + 0x5e]
mov byte [esi + ecx + 0xe], al
movzx eax, byte [ebx + 0x5f]
xor edx, edx
mov dword [0x1a38da0], eax
test eax, eax
jle 0x43cd55
xor ecx, ecx
lea eax, [ecx + ecx*2]
add eax, eax
add eax, eax
movzx edi, word [eax + ebx + 0x98]
mov word [eax + 0x5f3458], di
movzx edi, word [eax + ebx + 0x9a]
mov word [eax + 0x5f345a], di
mov edi, dword [eax + ebx + 0x9c]
mov dword [eax + 0x5f345c], edi
lea ecx, [ecx + ecx*2 + 0x27]
movzx ecx, word [ebx + ecx*4 + 4]
mov word [eax + 0x5f3460], cx
movzx ecx, word [eax + ebx + 0xa2]
inc edx
mov word [eax + 0x5f3462], cx
movzx ecx, dx
cmp ecx, dword [0x1a38da0]
jl 0x43ccf8
mov edx, dword [0x56895c]
mov byte [esi + edx], 1
mov eax, dword [0x56895c]
mov byte [esi + eax + 1], 1
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0xe8]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0xec]
mov eax, dword [0x56895c]
fst dword [esi + eax + 0x158]
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0x13c]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0x144]
mov eax, dword [0x56895c]
fld1
fst dword [esi + eax + 0x218]
mov ecx, dword [0x56895c]
fxch st(1)
mov dword [esi + ecx + 0x124], 0
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0x128]
mov eax, dword [0x56895c]
test dword [esi + eax + 0x234], 0x8000000
jbe 0x43cdf7
fstp dword [esi + eax + 0x21c]
mov eax, dword [0x56895c]
jmp 0x43cdf9
fstp st(0)
movzx edi, word [ebp - 0x1a98]
mov byte [esi + eax + 0x10], 1
mov eax, dword [0x56895c]
mov byte [esi + eax + 2], 0
mov edx, dword [0x56895c]
mov ecx, 0x270f
push edi
mov word [esi + edx + 0x20], cx
call fcn.0043bfb0
push edi
call fcn.00401f00
mov eax, dword [0x56895c]
mov ecx, dword [esi + eax + 0x1c8]
lea edx, [esi + eax + 0x1c8]
add esp, 8
test ecx, ecx
je 0x43cebd
mov edi, dword [esi + eax + 0x1cc]
test edi, edi
je 0x43cebd
cmp ecx, edi
jbe 0x43ce71
fld dword [0x4e5118]
mov dword [edx], edi
mov eax, dword [0x56895c]
fst dword [0x6a30b4]
fldz
fld qword [0x4e5d08]
jmp 0x43ced7
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
test ecx, ecx
jns 0x43ce87
fadd dword [0x4e4558]
mov dword [ebp - 0x1a84], edi
fild dword [ebp - 0x1a84]
test edi, edi
jns 0x43ce9d
fadd dword [0x4e4558]
fdivp st(1)
fld qword [0x4e5d08]
fmul st(1), st(0)
fxch st(1)
fstp dword [0x6a30b4]
fld dword [0x4e5118]
fldz
fxch st(1)
fxch st(2)
jmp 0x43ced7
fldz
fst dword [0x6a30b4]
fld dword [0x4e5118]
fld qword [0x4e5d08]
fxch st(1)
fxch st(2)
fxch st(1)
movzx edx, word [esi + eax + 0x1d0]
lea edi, [esi + eax + 0x1d0]
test dx, dx
je 0x43cf31
movzx ecx, word [esi + eax + 0x1d2]
test cx, cx
je 0x43cf31
cmp dx, cx
jbe 0x43cf0f
mov word [edi], cx
fxch st(2)
mov eax, dword [0x56895c]
fst dword [0x6444a4]
jmp 0x43cf3d
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
mov dword [ebp - 0x1a84], ecx
fidiv dword [ebp - 0x1a84]
fmul st(1)
fstp dword [0x6444a4]
jmp 0x43cf3b
fxch st(1)
fst dword [0x6444a4]
fxch st(1)
fxch st(2)
movzx edx, word [esi + eax + 0x1d4]
lea edi, [esi + eax + 0x1d4]
test dx, dx
je 0x43cf95
movzx ecx, word [esi + eax + 0x1d6]
test cx, cx
je 0x43cf95
cmp dx, cx
jbe 0x43cf73
mov word [edi], cx
fst dword [0x1a3c800]
mov eax, dword [0x56895c]
jmp 0x43cf9f
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
mov dword [ebp - 0x1a84], ecx
fidiv dword [ebp - 0x1a84]
fmul st(3)
fstp dword [0x1a3c800]
jmp 0x43cf9f
fxch st(1)
fst dword [0x1a3c800]
fxch st(1)
mov edx, dword [esi + eax + 0x50]
lea edi, [esi + eax + 0x50]
test edx, edx
je 0x43cff6
mov ecx, dword [esi + eax + 0x54]
test ecx, ecx
je 0x43cff6
fstp st(1)
cmp edx, ecx
jbe 0x43cfc2
mov dword [edi], ecx
mov eax, dword [0x56895c]
jmp 0x43cff8
mov dword [ebp - 0x1a84], edx
fstp st(0)
fild dword [ebp - 0x1a84]
test edx, edx
jns 0x43cfda
fadd dword [0x4e4558]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
test ecx, ecx
jns 0x43cff0
fadd dword [0x4e4558]
fdivp st(1)
fmulp st(1)
jmp 0x43cffa
fstp st(2)
fstp st(1)
fstp dword [0x6a4148]
movzx edx, byte [esi + eax + 0x1082]
push edx
call fcn.004327d0
mov eax, dword [0x56895c]
movzx ecx, byte [esi + eax + 0x1080]
push ecx
call fcn.00432c90
mov eax, dword [0x56895c]
movzx edx, byte [esi + eax + 0x1086]
movzx eax, byte [esi + eax + 0x1082]
push edx
push eax
call fcn.00431600
call fcn.0040c740
mov ecx, dword [0x56895c]
push 0xf0
lea edx, [esi + ecx + 0xf90]
push 0
push edx
call fcn.004cce10
movzx eax, word [ebx + 4]
mov ecx, dword [0x6a63a0]
mov dx, word [ebp - 0x1a98]
mov word [ecx + eax*2], dx
mov eax, dword [0x56895c]
add esp, 0x1c
fld dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1ab8]
fld dword [esi + eax + 0xbc]
mov eax, dword [ebp - 0x1ab8]
fstp dword [ebp - 0x1ab4]
mov ecx, dword [ebp - 0x1ab4]
fld dword [0x4e4820]
mov dword [ebp - 0x1988], eax
mov dword [ebp - 0x1984], ecx
fstp dword [ebp - 0x1ab0]
mov edx, dword [ebp - 0x1ab0]
lea eax, [ebp - 0x1bc4]
push eax
mov dword [ebp - 0x1980], edx
lea ecx, [ebp - 0x1bcc]
push ecx
lea edx, [ebp - 0x1bdc]
push edx
lea eax, [ebp - 0x1be4]
push eax
lea ecx, [ebp - 0x1bec]
push ecx
mov ecx, dword [0x53b1ec]
lea edx, [ebp - 0x1988]
push edx
call fcn.0048df40
fld dword [ebp - 0x1bc4]
mov eax, dword [ebp - 0x1bdc]
mov ecx, dword [ebp - 0x1be4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x1bcc]
fstp dword [esp]
push eax
push ecx
mov ecx, dword [0x53b1ec]
call fcn.00497ef0
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x214], eax
fld dword [ebp - 0x1bec]
fsubr qword [0x4e4c18]
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0xc4]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc4]
fstp dword [esi + eax + 0xc0]
mov ecx, dword [0x56895c]
fldz
fst dword [esi + ecx + 0xc8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [0x422686c]
fld dword [esi + eax + 0xbc]
fstp dword [0x4226870]
fld dword [esi + eax + 0xc0]
fstp dword [0x4226874]
fst dword [0x42270fc]
fst dword [0x4227100]
fstp dword [0x4227104]
fld dword [0x422686c]
fstp dword [0x41ec424]
fld dword [0x4226870]
fstp dword [0x41ec428]
fld dword [0x4226874]
fadd qword [0x4e44b8]
fstp dword [0x41ec42c]
movzx eax, byte [ebx + 0x46]
mov dword [0x1a38328], eax
cmp eax, 1
jb 0x43d1e9
cmp eax, 4
jbe 0x43d1f3
mov dword [0x1a38328], 1
push 1
call fcn.0040b010
add esp, 4
cmp dword [0x526908], 0x47
jne 0x43d259
fld dword [0x4e4cf4]
mov edi, dword [ebp - 0x1a8c]
fstp dword [0x5e90d4]
mov dword [0x6a5568], 3
fld dword [0x4e5e64]
mov dword [0x6a556c], 2
fstp dword [0x64403c]
mov dword [0x631d48], 0x28
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov edx, 0xffff
mov word [0x6a307c], dx
mov edi, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov eax, dword [0x526908]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x47
je 0x43d29e
cmp eax, 0x48
je 0x43d29e
cmp eax, 0x49
je 0x43d29e
cmp eax, 0x50
jne 0x447eec
add edi, 0x340
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp eax, 0x50
je 0x43d9ff
mov ax, word [ebx + 4]
lea ecx, [edi + 0x340]
mov word [0x6a307c], ax
cmp ecx, esi
ja 0x447f04
mov dx, word [0x64004c]
cmp dx, word [ebx + 4]
jne 0x447f41
mov edx, dword [0x56895c]
mov ecx, 0x270f
mov dword [ebp - 0x1a98], ecx
mov eax, 1
jmp 0x43d2f0
movzx esi, ax
imul esi, esi, 0x108c
cmp byte [esi + edx], 0
jne 0x43d307
movzx ecx, ax
mov eax, 0x1388
inc eax
mov esi, 0x1388
cmp ax, si
jb 0x43d2f0
mov eax, 0x270f
mov dword [ebp - 0x1a98], ecx
cmp cx, ax
jae 0x43d9f3
movzx esi, cx
mov ecx, dword [0x56895c]
imul esi, esi, 0x108c
push 0x108c
lea edx, [esi + ecx]
push 0x41ec448
push edx
call fcn.004cd640
mov ax, word [ebp - 0x1a98]
mov edx, dword [0x56895c]
fldz
mov word [0x5f375c], ax
mov cx, word [ebx + 4]
mov word [esi + edx + 0x16], cx
mov eax, dword [0x56895c]
mov byte [esi + eax + 0xf], 0
mov ecx, dword [0x56895c]
add esp, 0xc
fst dword [esi + ecx + 0x160]
lea eax, [esi + 0x184]
mov ecx, 8
mov edx, dword [0x56895c]
fst dword [eax + edx - 0x20]
mov edx, dword [0x56895c]
fst dword [eax + edx]
mov edx, dword [0x56895c]
mov dword [eax + edx + 0x24], 0x270f
add eax, 4
dec ecx
jne 0x43d38b
mov al, byte [ebx + 0xc]
test al, al
jne 0x43d3c4
mov eax, dword [0x56895c]
mov byte [esi + eax + 0x11], cl
jmp 0x43d3e3
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0x11], al
mov eax, dword [0x56895c]
cmp byte [esi + eax + 0x11], 1
sete dl
lea edx, [edx + edx + 0xb]
mov byte [esi + eax + 0xf], dl
mov ecx, dword [0x56895c]
xor eax, eax
mov word [esi + ecx + 0x18], ax
movzx edx, word [ebx + 6]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x1c8], edx
movzx ecx, word [ebx + 8]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xb8]
movzx eax, word [ebx + 0xa]
mov ecx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
mov dword [ebp - 0x1a84], 0x31
fstp dword [esi + ecx + 0xbc]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [esi + eax + 0xd8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xbc]
fstp dword [esi + eax + 0xdc]
movzx edx, byte [ebx + 0xf]
mov eax, dword [0x56895c]
mov byte [esi + eax + 7], dl
mov cl, byte [ebx + 0x10]
mov byte [0x53b0b2], cl
movzx edx, byte [ebx + 0x11]
mov ecx, dword [0x56895c]
mov byte [0x53b136], dl
mov al, byte [ebx + 0xd]
mov byte [esi + ecx + 0xe], al
lea eax, [ebx + 0x13]
mov ecx, 0x1a82f78
movzx edx, byte [eax]
mov dword [ecx], edx
inc eax
add ecx, 4
dec dword [ebp - 0x1a84]
jne 0x43d49f
movzx eax, byte [ebx + 0xe]
xor ecx, ecx
mov dword [0x1a38da0], eax
mov word [0x41eb888], cx
mov dword [ebp - 0x1a94], ecx
cmp eax, ecx
jle 0x43d529
lea eax, [ecx + ecx*2]
add eax, eax
add eax, eax
movzx edx, word [eax + ebx + 0x44]
mov word [eax + 0x5f3458], dx
movzx edx, word [eax + ebx + 0x46]
mov word [eax + 0x5f345a], dx
mov edx, dword [eax + ebx + 0x48]
mov dword [eax + 0x5f345c], edx
lea ecx, [ecx + ecx*2 + 0x12]
movzx edx, word [ebx + ecx*4 + 4]
mov word [eax + 0x5f3460], dx
mov cx, word [eax + ebx + 0x4e]
mov word [eax + 0x5f3462], cx
mov eax, dword [ebp - 0x1a94]
inc eax
movzx ecx, ax
mov dword [ebp - 0x1a94], eax
cmp ecx, dword [0x1a38da0]
jl 0x43d4cc
mov edx, dword [0x56895c]
mov byte [esi + edx], 1
mov eax, dword [0x56895c]
mov byte [esi + eax + 1], 1
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0xe8]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0xec]
mov eax, dword [0x56895c]
fst dword [esi + eax + 0x158]
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0x13c]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0x144]
mov eax, dword [0x56895c]
fld1
fstp dword [esi + eax + 0x218]
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x124], 0
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0x128]
mov eax, dword [0x56895c]
mov byte [esi + eax + 0x10], 1
movzx eax, word [ebp - 0x1a98]
mov edx, dword [0x56895c]
mov ecx, 0x270f
push eax
mov word [esi + edx + 0x20], cx
call fcn.0043bfb0
mov eax, dword [0x56895c]
mov byte [esi + eax + 2], 0
movzx eax, word [ebp - 0x1a98]
push eax
call fcn.00401f00
mov eax, dword [0x56895c]
lea ecx, [esi + eax + 0x1c8]
mov dword [ebp - 0x1a84], ecx
mov ecx, dword [ecx]
add esp, 8
test ecx, ecx
je 0x43d680
mov edx, dword [esi + eax + 0x1cc]
test edx, edx
je 0x43d680
cmp ecx, edx
jbe 0x43d634
mov ecx, dword [ebp - 0x1a84]
fld dword [0x4e5118]
mov dword [ecx], edx
fst dword [0x6a30b4]
fldz
mov eax, dword [0x56895c]
fld qword [0x4e5d08]
jmp 0x43d69a
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
test ecx, ecx
jns 0x43d64a
fadd dword [0x4e4558]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
test edx, edx
jns 0x43d660
fadd dword [0x4e4558]
fdivp st(1)
fld qword [0x4e5d08]
fmul st(1), st(0)
fxch st(1)
fstp dword [0x6a30b4]
fld dword [0x4e5118]
fldz
fxch st(1)
fxch st(2)
jmp 0x43d69a
fldz
fst dword [0x6a30b4]
fld dword [0x4e5118]
fld qword [0x4e5d08]
fxch st(1)
fxch st(2)
fxch st(1)
movzx edx, word [esi + eax + 0x1d0]
lea ecx, [esi + eax + 0x1d0]
mov dword [ebp - 0x1a84], ecx
test dx, dx
je 0x43d700
movzx ecx, word [esi + eax + 0x1d2]
test cx, cx
je 0x43d700
cmp dx, cx
jbe 0x43d6de
mov edx, dword [ebp - 0x1a84]
fxch st(2)
mov word [edx], cx
fst dword [0x6444a4]
mov eax, dword [0x56895c]
jmp 0x43d70c
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
mov dword [ebp - 0x1a84], ecx
fidiv dword [ebp - 0x1a84]
fmul st(1)
fstp dword [0x6444a4]
jmp 0x43d70a
fxch st(1)
fst dword [0x6444a4]
fxch st(1)
fxch st(2)
movzx edx, word [esi + eax + 0x1d4]
lea ecx, [esi + eax + 0x1d4]
mov dword [ebp - 0x1a84], ecx
test dx, dx
je 0x43d770
movzx ecx, word [esi + eax + 0x1d6]
test cx, cx
je 0x43d770
cmp dx, cx
jbe 0x43d74e
mov edx, dword [ebp - 0x1a84]
mov word [edx], cx
fst dword [0x1a3c800]
mov eax, dword [0x56895c]
jmp 0x43d77a
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
mov dword [ebp - 0x1a84], ecx
fidiv dword [ebp - 0x1a84]
fmul st(3)
fstp dword [0x1a3c800]
jmp 0x43d77a
fxch st(1)
fst dword [0x1a3c800]
fxch st(1)
mov edx, dword [esi + eax + 0x50]
lea ecx, [esi + eax + 0x50]
mov dword [ebp - 0x1a84], ecx
test edx, edx
je 0x43d7dd
mov ecx, dword [esi + eax + 0x54]
test ecx, ecx
je 0x43d7dd
fstp st(1)
cmp edx, ecx
jbe 0x43d7a9
mov edx, dword [ebp - 0x1a84]
mov dword [edx], ecx
mov eax, dword [0x56895c]
jmp 0x43d7df
mov dword [ebp - 0x1a84], edx
fstp st(0)
fild dword [ebp - 0x1a84]
test edx, edx
jns 0x43d7c1
fadd dword [0x4e4558]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
test ecx, ecx
jns 0x43d7d7
fadd dword [0x4e4558]
fdivp st(1)
fmulp st(1)
jmp 0x43d7e1
fstp st(2)
fstp st(1)
fstp dword [0x6a4148]
movzx eax, byte [esi + eax + 0x1082]
push eax
call fcn.004327d0
mov ecx, dword [0x56895c]
movzx edx, byte [esi + ecx + 0x1080]
push edx
call fcn.00432c90
mov eax, dword [0x56895c]
movzx ecx, byte [esi + eax + 0x1086]
movzx edx, byte [esi + eax + 0x1082]
push ecx
push edx
call fcn.00431600
call fcn.0040c740
mov eax, dword [0x56895c]
push 0xf0
lea ecx, [esi + eax + 0xf90]
push 0
push ecx
call fcn.004cce10
movzx edx, word [ebx + 4]
mov eax, dword [0x6a63a0]
mov cx, word [ebp - 0x1a98]
mov word [eax + edx*2], cx
mov eax, dword [0x56895c]
add esp, 0x1c
fld dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1ad0]
mov edx, dword [ebp - 0x1ad0]
fld dword [esi + eax + 0xbc]
mov dword [ebp - 0x1994], edx
fstp dword [ebp - 0x1acc]
mov eax, dword [ebp - 0x1acc]
fld dword [0x4e4820]
mov dword [ebp - 0x1990], eax
lea edx, [ebp - 0x1bf4]
fstp dword [ebp - 0x1ac8]
mov ecx, dword [ebp - 0x1ac8]
push edx
mov dword [ebp - 0x198c], ecx
lea eax, [ebp - 0x1c04]
push eax
lea ecx, [ebp - 0x1c0c]
push ecx
lea edx, [ebp - 0x1c14]
push edx
lea eax, [ebp - 0x1c24]
push eax
lea ecx, [ebp - 0x1994]
push ecx
mov ecx, dword [0x53b1ec]
call fcn.0048df40
fld dword [ebp - 0x1bf4]
mov edx, dword [ebp - 0x1c0c]
mov eax, dword [ebp - 0x1c14]
mov ecx, dword [0x53b1ec]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x1c04]
fstp dword [esp]
push edx
push eax
call fcn.00497ef0
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x214], eax
fld dword [ebp - 0x1c24]
fsubr qword [0x4e4c18]
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0xc4]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc4]
fstp dword [esi + eax + 0xc0]
mov eax, dword [0x56895c]
fldz
fst dword [esi + eax + 0xc8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [0x422686c]
fld dword [esi + eax + 0xbc]
fstp dword [0x4226870]
fld dword [esi + eax + 0xc0]
add edi, 0x340
fstp dword [0x4226874]
mov dword [0x6a5568], 3
mov dword [0x631d48], 0
fst dword [0x42270fc]
mov dword [ebp - 0x1a88], edi
fst dword [0x4227100]
fstp dword [0x4227104]
fld dword [0x422686c]
fstp dword [0x41ec424]
fld dword [0x4226870]
fstp dword [0x41ec428]
fld dword [0x4226874]
fstp dword [0x41ec42c]
fld dword [0x4e52a0]
fstp dword [0x5e90d4]
fld dword [0x4e5118]
fstp dword [0x64403c]
jmp 0x43c78f
mov ecx, 0xffff
mov word [0x6a307c], cx
add edi, 0x340
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 0x3c
fstp st(1)
mov dword [ebp - 0x1a84], edi
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
movzx esi, ax
mov edi, 0x270f
add esp, 4
cmp si, di
je 0x43da62
movzx ecx, si
imul ecx, ecx, 0x108c
add ecx, dword [0x56895c]
push 0x108c
push 0
push ecx
call fcn.004cce10
add esp, 0xc
jmp 0x43da92
mov ecx, dword [0x56895c]
mov eax, 1
lea ecx, [ecx]
movzx edx, ax
imul edx, edx, 0x108c
cmp byte [edx + ecx], 0
jne 0x43da87
movzx esi, ax
mov eax, 0x1388
inc eax
mov edx, 0x1388
cmp ax, dx
jb 0x43da70
cmp word [0x5f375c], di
jae 0x43e184
cmp si, di
jae 0x43e184
movzx edx, word [ebx + 4]
mov eax, dword [0x6a63a0]
mov word [eax + edx*2], si
mov ecx, dword [0x56895c]
movzx esi, si
mov dword [ebp - 0x1a90], esi
imul esi, esi, 0x108c
push 0x108c
lea edx, [esi + ecx]
push 0
push edx
call fcn.004cce10
mov eax, dword [0x56895c]
add esp, 0xc
lea ecx, [ebx + 9]
lea edx, [esi + eax + 0x94]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x43daf0
movzx ecx, byte [ebx + 0x15]
mov edx, dword [0x56895c]
mov byte [esi + edx + 0xc], cl
movzx eax, byte [ebx + 0x15]
mov eax, dword [eax*4 + 0x5ece30]
add eax, dword [0x1a3ba10]
mov ecx, dword [0x56895c]
mov edx, dword [eax]
mov dword [esi + ecx + 0xa0], edx
mov edx, dword [eax + 4]
mov dword [esi + ecx + 0xa4], edx
mov eax, dword [eax + 8]
mov dword [esi + ecx + 0xa8], eax
mov edx, dword [0x56895c]
lea ecx, [esi + ecx + 0xa0]
movzx ecx, byte [ebx + 0x16]
xor eax, eax
cmp byte [ebx + 0x17], 0x1e
setne al
dec eax
and eax, 0xa
add eax, 0x4fd
add eax, ecx
mov eax, dword [eax*4 + 0x5ec120]
add eax, dword [0x1a3ba10]
lea ecx, [esi + edx + 0xac]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
movzx ecx, byte [ebx + 7]
mov edx, dword [0x56895c]
mov byte [esi + edx + 6], cl
mov al, byte [ebx + 8]
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0xd], al
movzx edx, word [ebx + 0x18]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a8c], edx
fild dword [ebp - 0x1a8c]
fstp dword [esi + eax + 0xb8]
movzx ecx, word [ebx + 0x1a]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a8c], ecx
fild dword [ebp - 0x1a8c]
fstp dword [esi + edx + 0xbc]
movzx eax, word [ebx + 0x1c]
mov dword [ebp - 0x1a8c], eax
mov ecx, dword [0x56895c]
fild dword [ebp - 0x1a8c]
fld qword [0x4e5d08]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esi + ecx + 0xd4]
fldz
mov edx, dword [0x56895c]
fst dword [esi + edx + 0x13c]
mov eax, dword [0x56895c]
fst dword [esi + eax + 0x144]
movzx ecx, word [ebx + 0x30]
mov dword [ebp - 0x1a8c], ecx
mov edx, dword [0x56895c]
fild dword [ebp - 0x1a8c]
fdivrp st(2)
fxch st(1)
fstp dword [esi + edx + 0x15c]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x124], 0
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x128]
movzx eax, word [ebx + 0x1e]
test ax, ax
jne 0x43dcf5
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a8c], eax
fild dword [ebp - 0x1a8c]
test eax, eax
jns 0x43dc82
fadd dword [0x4e4558]
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
fstp dword [esi + eax + 0x230]
mov eax, dword [0x56895c]
fldz
fst dword [esi + eax + 0x158]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [esi + eax + 0xd8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xbc]
fstp dword [esi + eax + 0xdc]
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0xe8]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0xec]
jmp 0x43ddc9
mov dword [ebp - 0x1a8c], eax
fild dword [ebp - 0x1a8c]
fstp dword [ebp - 0x1a8c]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a94], eax
fild dword [ebp - 0x1a94]
test eax, eax
jns 0x43dd23
fadd dword [0x4e4558]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
fstp dword [esi + eax + 0x230]
mov edx, dword [0x56895c]
fld dword [ebp - 0x1a8c]
fst dword [esi + edx + 0x158]
movzx eax, word [ebx + 0x20]
mov ecx, dword [0x56895c]
mov dword [ebp - 0x1a8c], eax
fild dword [ebp - 0x1a8c]
fstp dword [esi + ecx + 0xd8]
movzx edx, word [ebx + 0x22]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a8c], edx
fild dword [ebp - 0x1a8c]
fstp dword [esi + eax + 0xdc]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fsub dword [esi + eax + 0xb8]
fdiv st(1)
fstp dword [esi + eax + 0xe8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xdc]
fsub dword [esi + eax + 0xbc]
fdivrp st(1)
fstp dword [esi + eax + 0xec]
fldz
mov cx, word [ebx + 4]
mov edx, dword [0x56895c]
mov word [esi + edx + 0x16], cx
mov ax, word [ebx + 0x24]
mov ecx, dword [0x56895c]
mov word [esi + ecx + 0x18], ax
mov edx, dword [0x56895c]
mov byte [esi + edx + 5], 1
movzx eax, byte [ebx + 0x28]
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 9], al
mov dl, byte [ebx + 0x29]
mov eax, dword [0x56895c]
mov byte [esi + eax + 0xa], dl
mov cl, byte [ebx + 0x2a]
mov edx, dword [0x56895c]
mov byte [esi + edx + 7], cl
movzx eax, byte [ebx + 0x2b]
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0x14], al
movzx edx, word [ebx + 0x2c]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x1c8], edx
movzx ecx, word [ebx + 0x2e]
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x1cc], ecx
mov ecx, dword [0x56895c]
mov eax, 1
mov word [esi + ecx + 0x1d0], ax
mov edx, eax
mov eax, dword [0x56895c]
mov word [esi + eax + 0x1d2], dx
mov ecx, edx
mov edx, dword [0x56895c]
mov word [esi + edx + 0x1d4], cx
mov eax, ecx
mov ecx, dword [0x56895c]
mov word [esi + ecx + 0x1d6], ax
movzx edx, word [ebx + 0x26]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x1d8], edx
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0xf], 0
mov edx, dword [0x56895c]
lea eax, [esi + 0x184]
mov ecx, 8
fst dword [esi + edx + 0x160]
mov edx, dword [0x56895c]
fst dword [eax + edx - 0x20]
mov edx, dword [0x56895c]
fst dword [eax + edx]
mov edx, dword [0x56895c]
mov dword [eax + edx + 0x24], edi
add eax, 4
dec ecx
jne 0x43debd
mov al, byte [ebx + 6]
fstp st(0)
test al, al
jne 0x43def4
mov eax, dword [0x56895c]
mov byte [esi + eax + 0x11], cl
jmp 0x43df13
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0x11], al
mov eax, dword [0x56895c]
cmp byte [esi + eax + 0x11], 1
setbe dl
lea edx, [edx + edx + 0xb]
mov byte [esi + eax + 0xf], dl
mov edi, esi
lea eax, [ebx + 0x32]
mov dword [ebp - 0x1a8c], 0xa
jmp 0x43df30
mov cl, byte [eax]
mov edx, dword [0x56895c]
mov byte [edi + edx + 0x1080], cl
inc eax
inc edi
dec dword [ebp - 0x1a8c]
jne 0x43df30
mov eax, dword [ebx + 0x3c]
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x234], eax
mov edx, dword [0x56895c]
movzx eax, byte [esi + edx + 0x1082]
push eax
call fcn.004327d0
mov ecx, dword [0x56895c]
movzx edx, byte [esi + ecx + 0x1080]
push edx
call fcn.00432c90
mov eax, dword [0x56895c]
movzx ecx, byte [esi + eax + 0x1086]
movzx edx, byte [esi + eax + 0x1082]
push ecx
push edx
call fcn.00431600
mov edi, dword [ebp - 0x1a90]
push edi
call fcn.0043bfb0
mov eax, dword [0x56895c]
push 0xf0
lea ecx, [esi + eax + 0xf90]
push 0
push ecx
call fcn.004cce10
fld1
mov edx, dword [0x56895c]
mov byte [esi + edx], 1
mov eax, dword [0x56895c]
mov byte [esi + eax + 1], 1
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x218]
mov edx, dword [0x56895c]
mov byte [esi + edx + 2], 0
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
add esp, 0x20
fstp dword [ebp - 0x1b8c]
fld dword [esi + eax + 0xbc]
mov eax, dword [ebp - 0x1b8c]
fstp dword [ebp - 0x1b88]
mov ecx, dword [ebp - 0x1b88]
fld dword [0x4e4820]
mov dword [ebp - 0x194c], eax
mov dword [ebp - 0x1948], ecx
fstp dword [ebp - 0x1b84]
mov edx, dword [ebp - 0x1b84]
lea eax, [ebp - 0x1c2c]
push eax
mov dword [ebp - 0x1944], edx
lea ecx, [ebp - 0x1c34]
push ecx
lea edx, [ebp - 0x1bf0]
push edx
lea eax, [ebp - 0x1bc8]
push eax
lea ecx, [ebp - 0x1be0]
push ecx
mov ecx, dword [0x53b1ec]
lea edx, [ebp - 0x194c]
push edx
call fcn.0048df40
fld dword [ebp - 0x1c2c]
mov eax, dword [ebp - 0x1bf0]
mov ecx, dword [ebp - 0x1bc8]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x1c34]
fstp dword [esp]
push eax
push ecx
mov ecx, dword [0x53b1ec]
call fcn.00497ef0
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x214], eax
fld dword [ebp - 0x1be0]
fsubr qword [0x4e4c18]
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0xc4]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc4]
fstp dword [esi + eax + 0xc0]
mov ecx, dword [0x56895c]
fldz
fstp dword [esi + ecx + 0xc8]
mov eax, dword [0x56895c]
test dword [esi + eax + 0x234], 0x40000000
je 0x43e111
mov byte [esi + eax + 3], 1
mov edx, dword [0x56895c]
mov byte [esi + edx + 0xf], 4
jmp 0x43e116
mov byte [esi + eax + 3], 0
push edi
call fcn.00401f00
mov eax, dword [0x56895c]
add esp, 4
test dword [esi + eax + 0x234], 0x10000
je 0x43e184
push 0x6f
call fcn.0040d730
add esp, 4
test al, al
je 0x43e184
push 0x6f
call fcn.0040d730
movzx eax, al
push 0x64
lea esi, [eax + eax*2]
call fcn.0043b9c0
add esp, 8
cmp eax, esi
jge 0x43e184
mov edx, dword [0x5ec584]
add edx, dword [0x1a3ba10]
lea eax, [ebp - 0xe04]
push edx
push eax
call fcn.004cce8a
lea ecx, [ebp - 0xe04]
push 0
push ecx
call fcn.0040d780
add esp, 0x10
mov edi, dword [ebp - 0x1a84]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 0x1a
fstp st(1)
mov dword [ebp - 0x1a8c], edi
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
movzx esi, ax
mov eax, 0x270f
add esp, 4
cmp si, ax
je 0x43e1e7
movzx ecx, si
imul ecx, ecx, 0x108c
add ecx, dword [0x56895c]
push 0x108c
push 0
push ecx
call fcn.004cce10
add esp, 0xc
jmp 0x43e214
mov ecx, dword [0x56895c]
mov eax, 1
movzx edx, ax
imul edx, edx, 0x108c
cmp byte [edx + ecx], 0
jne 0x43e209
movzx esi, ax
mov eax, 0x1388
inc eax
mov edx, 0x1388
cmp ax, dx
jb 0x43e1f2
mov eax, 0x270f
cmp word [0x5f375c], ax
jae 0x43e58e
mov ecx, eax
cmp si, cx
jae 0x43e58e
movzx edx, word [ebx + 4]
mov eax, dword [0x6a63a0]
mov word [eax + edx*2], si
mov ecx, dword [0x56895c]
movzx edi, si
mov esi, edi
imul esi, esi, 0x108c
push 0x108c
lea edx, [esi + ecx]
push 0
push edx
call fcn.004cce10
movzx eax, word [ebx + 0x1c]
mov ecx, dword [0x56895c]
lea eax, [eax + eax*2]
add esp, 0xc
lea eax, [eax*4 + 0x1a39c88]
lea ecx, [esi + ecx + 0x94]
lea ecx, [ecx]
mov dl, byte [eax]
mov byte [ecx], dl
inc eax
inc ecx
test dl, dl
jne 0x43e280
movzx edx, word [ebx + 0x1c]
mov eax, dword [0x56895c]
mov word [esi + eax + 0x1a], dx
mov ecx, dword [0x56895c]
xor eax, eax
mov dword [esi + ecx + 0x58], eax
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x74], eax
movzx eax, word [ebx + 0x14]
mov ecx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fstp dword [esi + ecx + 0xb8]
movzx edx, word [ebx + 0x16]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0xbc]
movzx ecx, word [ebx + 0x18]
mov dword [ebp - 0x1a84], ecx
mov edx, dword [0x56895c]
fild dword [ebp - 0x1a84]
fdiv qword [0x4e5d08]
fstp dword [esi + edx + 0xd4]
fldz
mov ax, word [ebx + 4]
mov ecx, dword [0x56895c]
mov word [esi + ecx + 0x16], ax
movzx edx, word [ebx + 0x1a]
mov eax, dword [0x56895c]
mov word [esi + eax + 0x18], dx
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 5], 2
mov edx, dword [0x56895c]
mov byte [esi + edx + 0xa], 0
mov eax, dword [0x56895c]
mov byte [esi + eax + 0xb], 1
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0x14], 0
mov eax, dword [0x56895c]
mov edx, 0x270f
mov dword [esi + eax + 0x1c8], edx
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x1cc], edx
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x1d8], 0x64
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0xf], 0
mov eax, dword [0x56895c]
mov ecx, 8
fst dword [esi + eax + 0x160]
lea eax, [esi + 0x184]
mov ebx, dword [0x56895c]
fst dword [eax + ebx - 0x20]
mov ebx, dword [0x56895c]
fst dword [eax + ebx]
mov ebx, dword [0x56895c]
mov dword [eax + ebx + 0x24], edx
add eax, 4
dec ecx
jne 0x43e3a4
mov ecx, dword [0x56895c]
fstp st(0)
mov byte [esi + ecx + 0x11], 0
mov edx, dword [0x56895c]
movzx eax, word [esi + edx + 0x18]
push eax
call fcn.004320a0
push edi
call fcn.0043bfb0
mov ecx, dword [0x56895c]
push 0xf0
lea edx, [esi + ecx + 0xf90]
push 0
push edx
call fcn.004cce10
fldz
mov eax, dword [0x56895c]
mov byte [esi + eax], 1
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 1], 1
mov edx, dword [0x56895c]
fst dword [esi + edx + 0xe8]
mov eax, dword [0x56895c]
fst dword [esi + eax + 0xec]
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0x13c]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0x144]
mov eax, dword [0x56895c]
fst dword [esi + eax + 0x158]
mov ecx, dword [0x56895c]
fld1
add esp, 0x14
fstp dword [esi + ecx + 0x218]
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x124], 0
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0x128]
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 2], 0
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1b9c]
mov edx, dword [ebp - 0x1b9c]
fld dword [esi + eax + 0xbc]
mov dword [ebp - 0x1958], edx
fstp dword [ebp - 0x1b98]
mov eax, dword [ebp - 0x1b98]
fld dword [0x4e4820]
mov dword [ebp - 0x1954], eax
lea edx, [ebp - 0x1aa8]
fstp dword [ebp - 0x1b94]
mov ecx, dword [ebp - 0x1b94]
push edx
mov dword [ebp - 0x1950], ecx
lea eax, [ebp - 0x1b58]
push eax
lea ecx, [ebp - 0x1b90]
push ecx
lea edx, [ebp - 0x1ba0]
push edx
lea eax, [ebp - 0x1bb0]
push eax
lea ecx, [ebp - 0x1958]
push ecx
mov ecx, dword [0x53b1ec]
call fcn.0048df40
fld dword [ebp - 0x1aa8]
mov edx, dword [ebp - 0x1b90]
mov eax, dword [ebp - 0x1ba0]
mov ecx, dword [0x53b1ec]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x1b58]
fstp dword [esp]
push edx
push eax
call fcn.00497ef0
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x214], eax
fld dword [ebp - 0x1bb0]
fsubr qword [0x4e4c18]
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0xc4]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc4]
fstp dword [esi + eax + 0xc0]
mov eax, dword [0x56895c]
fldz
fstp dword [esi + eax + 0xc8]
mov edi, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 0x38
fstp st(1)
mov dword [ebp - 0x1a8c], edi
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx ecx, word [ebx + 4]
push ecx
call fcn.00406270
movzx esi, ax
mov edx, 0x270f
add esp, 4
cmp si, dx
je 0x43e5f1
movzx eax, si
imul eax, eax, 0x108c
add eax, dword [0x56895c]
push 0x108c
push 0
push eax
call fcn.004cce10
add esp, 0xc
jmp 0x43e622
mov ecx, dword [0x56895c]
mov eax, 1
lea esp, [esp]
movzx edx, ax
imul edx, edx, 0x108c
cmp byte [edx + ecx], 0
jne 0x43e617
movzx esi, ax
mov eax, 0x1388
inc eax
mov edx, 0x1388
cmp ax, dx
jb 0x43e600
mov eax, 0x270f
cmp word [0x5f375c], ax
jae 0x43ec60
mov ecx, eax
cmp si, cx
jae 0x43ec60
movzx edx, word [ebx + 4]
mov eax, dword [0x6a63a0]
movzx edi, si
mov word [eax + edx*2], si
mov ecx, dword [0x56895c]
mov esi, edi
imul esi, esi, 0x108c
push 0x108c
lea edx, [esi + ecx]
push 0
push edx
mov dword [ebp - 0x1a90], edi
call fcn.004cce10
add esp, 0xc
cmp byte [ebx + 8], 1
jne 0x43e6d8
lea ecx, [ebx + 9]
mov edi, 0x4e5e58
mov eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi]
jne 0x43e6a6
test dl, dl
je 0x43e6a2
mov dl, byte [eax + 1]
cmp dl, byte [edi + 1]
jne 0x43e6a6
add eax, 2
add edi, 2
test dl, dl
jne 0x43e686
xor eax, eax
jmp 0x43e6ab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43e6d2
mov eax, dword [0x56895c]
lea edx, [esi + eax + 0x94]
jmp 0x43e6c0
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x43e6c0
mov edi, dword [ebp - 0x1a90]
jmp 0x43e6fd
mov edi, dword [ebp - 0x1a90]
movzx eax, word [ebx + 0x1c]
mov edx, dword [0x56895c]
lea ecx, [eax + eax*2]
lea ecx, [ecx*4 + 0x1a820f8]
lea edx, [esi + edx + 0x94]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x43e6f3
mov eax, dword [0x56895c]
xor ecx, ecx
mov dword [esi + eax + 0x58], ecx
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x74], ecx
movzx eax, byte [ebx + 8]
mov edx, dword [0x56895c]
mov byte [esi + edx + 6], al
movzx eax, byte [ebx + 0x20]
mov edx, dword [0x56895c]
mov byte [esi + edx + 0x13], al
movzx eax, word [ebx + 0x22]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xb8]
movzx eax, word [ebx + 0x24]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xbc]
movzx eax, word [ebx + 0x26]
mov dword [ebp - 0x1a84], eax
mov edx, dword [0x56895c]
fild dword [ebp - 0x1a84]
fld qword [0x4e5d08]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esi + edx + 0xd4]
movzx eax, word [ebx + 6]
mov dword [ebp - 0x1a84], eax
mov edx, dword [0x56895c]
fild dword [ebp - 0x1a84]
fdivrp st(1)
fstp dword [esi + edx + 0x15c]
movzx eax, word [ebx + 0x28]
cmp ax, cx
jne 0x43e849
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x43e7d7
fadd dword [0x4e4558]
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
fstp dword [esi + eax + 0x230]
mov ecx, dword [0x56895c]
fldz
fst dword [esi + ecx + 0x158]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [esi + eax + 0xd8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xbc]
fstp dword [esi + eax + 0xdc]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0xe8]
mov eax, dword [0x56895c]
fst dword [esi + eax + 0xec]
jmp 0x43e91d
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fstp dword [ebp - 0x1a84]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a94], eax
fild dword [ebp - 0x1a94]
test eax, eax
jns 0x43e877
fadd dword [0x4e4558]
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
fstp dword [esi + eax + 0x230]
mov eax, dword [0x56895c]
fld dword [ebp - 0x1a84]
fst dword [esi + eax + 0x158]
movzx ecx, word [ebx + 0x2a]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xd8]
movzx eax, word [ebx + 0x2c]
mov ecx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fstp dword [esi + ecx + 0xdc]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fsub dword [esi + eax + 0xb8]
fdiv st(1)
fstp dword [esi + eax + 0xe8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xdc]
fsub dword [esi + eax + 0xbc]
fdivrp st(1)
fstp dword [esi + eax + 0xec]
fldz
mov eax, dword [0x56895c]
mov dx, word [ebx + 4]
mov word [esi + eax + 0x16], dx
mov edx, dword [0x56895c]
mov cx, word [ebx + 0x16]
mov word [esi + edx + 0x18], cx
mov ax, word [ebx + 0x1c]
mov ecx, dword [0x56895c]
mov word [esi + ecx + 0x1c], ax
mov eax, dword [0x56895c]
mov dl, byte [ebx + 0x18]
mov byte [esi + eax + 0x1083], dl
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 5], 3
mov edx, dword [0x56895c]
mov byte [esi + edx + 0xa], 0
mov al, byte [ebx + 0x1f]
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0xb], al
mov edx, dword [0x56895c]
mov byte [esi + edx + 0x14], 0
mov eax, dword [ebx + 0x30]
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x1c8], eax
mov edx, dword [ebx + 0x34]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x1cc], edx
mov edx, dword [0x56895c]
mov ecx, 1
mov word [esi + edx + 0x1d0], cx
mov eax, ecx
mov ecx, dword [0x56895c]
mov word [esi + ecx + 0x1d2], ax
mov edx, eax
mov eax, dword [0x56895c]
mov word [esi + eax + 0x1d4], dx
mov ecx, edx
mov edx, dword [0x56895c]
mov word [esi + edx + 0x1d6], cx
movzx eax, word [ebx + 0x1a]
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x1d8], eax
mov edx, dword [0x56895c]
mov byte [esi + edx + 0xf], 0
mov eax, dword [0x56895c]
mov ecx, 8
fst dword [esi + eax + 0x160]
lea eax, [esi + 0x184]
mov edx, dword [0x56895c]
fst dword [eax + edx - 0x20]
mov edx, dword [0x56895c]
fst dword [eax + edx]
mov edx, dword [0x56895c]
mov dword [eax + edx + 0x24], 0x270f
add eax, 4
dec ecx
jne 0x43ea1a
mov eax, dword [0x56895c]
fstp st(0)
mov byte [esi + eax + 0x11], cl
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0xf], 0
mov al, byte [ebx + 0x1e]
cmp al, 1
jne 0x43ea74
mov edx, dword [0x56895c]
mov byte [esi + edx + 0x11], al
mov eax, dword [0x56895c]
mov byte [esi + eax + 0xf], 0xb
jmp 0x43eaa8
cmp al, 2
jne 0x43ea8f
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0x11], al
mov edx, dword [0x56895c]
mov byte [esi + edx + 0xf], 0xc
jmp 0x43eaa8
cmp al, 3
jne 0x43eaa8
mov eax, dword [0x56895c]
mov byte [esi + eax + 0x11], 3
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0xf], 0xd
mov edx, dword [ebx + 0x38]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x234], edx
mov ecx, dword [0x56895c]
movzx edx, word [esi + ecx + 0x18]
push edx
call fcn.00431bf0
push edi
call fcn.0043bfb0
mov eax, dword [0x56895c]
fldz
mov byte [esi + eax], 1
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 1], 1
mov edx, dword [0x56895c]
fst dword [esi + edx + 0x13c]
mov eax, dword [0x56895c]
fst dword [esi + eax + 0x144]
mov ecx, dword [0x56895c]
fld1
push 0xf0
fstp dword [esi + ecx + 0x218]
push 0
mov edx, dword [0x56895c]
fst dword [esi + edx + 0x21c]
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x124], 0
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x128]
mov edx, dword [0x56895c]
mov byte [esi + edx + 2], 0
mov eax, dword [0x56895c]
lea ecx, [esi + eax + 0xf90]
push ecx
call fcn.004cce10
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
add esp, 0x14
fstp dword [ebp - 0x1bac]
mov edx, dword [ebp - 0x1bac]
fld dword [esi + eax + 0xbc]
mov dword [ebp - 0x19c4], edx
fstp dword [ebp - 0x1ba8]
mov eax, dword [ebp - 0x1ba8]
fld dword [0x4e4820]
mov dword [ebp - 0x19c0], eax
lea edx, [ebp - 0x1c28]
fstp dword [ebp - 0x1ba4]
mov ecx, dword [ebp - 0x1ba4]
push edx
mov dword [ebp - 0x19bc], ecx
lea eax, [ebp - 0x1aac]
push eax
lea ecx, [ebp - 0x1ad4]
push ecx
lea edx, [ebp - 0x1c08]
push edx
lea eax, [ebp - 0x1b44]
push eax
lea ecx, [ebp - 0x19c4]
push ecx
mov ecx, dword [0x53b1ec]
call fcn.0048df40
fld dword [ebp - 0x1c28]
mov edx, dword [ebp - 0x1ad4]
mov eax, dword [ebp - 0x1c08]
mov ecx, dword [0x53b1ec]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x1aac]
fstp dword [esp]
push edx
push eax
call fcn.00497ef0
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x214], eax
fld dword [ebp - 0x1b44]
fsubr qword [0x4e4c18]
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0xc4]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc4]
push edi
fstp dword [esi + eax + 0xc0]
mov eax, dword [0x56895c]
fldz
fstp dword [esi + eax + 0xc8]
call fcn.00401f00
add esp, 4
mov edi, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov eax, dword [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x2000
ja 0x447ef1
lea ecx, [edi + eax*2 + 4]
cmp ecx, esi
ja 0x447ef1
mov dword [ebp - 0x1a94], 0
test eax, eax
je 0x43eed4
xor eax, eax
mov dword [ebp - 0x1a8c], eax
jmp 0x43ecb0
movzx esi, word [ebx + eax*2 + 8]
test si, si
je 0x43eeb5
push esi
call fcn.00406270
movzx eax, ax
lea edx, [eax - 1]
mov ecx, 0x270d
add esp, 4
cmp dx, cx
ja 0x43edb4
mov edx, esi
mov esi, dword [0x6a63a0]
xor ecx, ecx
mov word [esi + edx*2], cx
movzx edx, word [0x5f375c]
mov esi, dword [0x56895c]
imul edx, edx, 0x108c
cmp word [edx + esi + 0x20], ax
lea ecx, [edx + esi + 0x20]
jne 0x43ed15
mov edx, 0x270f
mov word [ecx], dx
mov esi, dword [0x56895c]
movzx eax, ax
mov dword [ebp - 0x1a90], eax
imul eax, eax, 0x108c
mov cl, byte [eax + esi + 5]
cmp cl, 1
jne 0x43ed41
mov eax, dword [ebp - 0x1a90]
push eax
call fcn.0040d060
add esp, 4
jmp 0x43eeb5
cmp cl, 2
jne 0x43ed5a
mov ecx, dword [ebp - 0x1a90]
push ecx
call fcn.0040d060
add esp, 4
jmp 0x43eeb5
mov byte [eax + esi + 4], 1
mov edx, dword [0x56895c]
mov cl, byte [eax + edx + 0xf]
cmp cl, 0xb
je 0x43eeb5
cmp cl, 0xc
je 0x43eeb5
cmp cl, 0xd
je 0x43eeb5
cmp byte [eax + edx + 0x11], 0
jne 0x43eeb5
mov esi, dword [ebp - 0x1a90]
push esi
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x43eeb5
push esi
call fcn.0040d060
add esp, 4
jmp 0x43eeb5
mov eax, 1
mov dword [ebp - 0x1a98], eax
mov dword [ebp - 0x1a90], eax
mov esi, 0x108c
lea ebx, [ebx]
mov ecx, dword [0x56895c]
cmp byte [esi + ecx], 0
je 0x43ee8e
mov edx, dword [ebp - 0x1a8c]
movzx eax, word [ebx + edx*2 + 8]
cmp word [esi + ecx + 0x16], ax
jne 0x43ee8e
mov edx, dword [0x6a63a0]
xor ecx, ecx
mov word [edx + eax*2], cx
movzx ecx, word [0x5f375c]
mov eax, dword [0x56895c]
imul ecx, ecx, 0x108c
mov dx, word [ecx + eax + 0x20]
lea ecx, [ecx + eax + 0x20]
cmp dx, word [ebp - 0x1a98]
jne 0x43ee33
mov eax, 0x270f
mov word [ecx], ax
mov eax, dword [0x56895c]
mov cl, byte [esi + eax + 5]
cmp cl, 1
je 0x43ee7f
cmp cl, 2
jne 0x43ee4a
mov edx, dword [ebp - 0x1a90]
push edx
jmp 0x43ee86
mov byte [esi + eax + 4], 1
mov ecx, dword [0x56895c]
mov al, byte [esi + ecx + 0xf]
cmp al, 0xb
je 0x43ee8e
cmp al, 0xc
je 0x43ee8e
cmp al, 0xd
je 0x43ee8e
cmp byte [esi + ecx + 0x11], 0
jne 0x43ee8e
mov eax, dword [ebp - 0x1a90]
push eax
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x43ee8e
mov ecx, dword [ebp - 0x1a90]
push ecx
call fcn.0040d060
add esp, 4
mov eax, dword [ebp - 0x1a98]
inc dword [ebp - 0x1a90]
inc eax
mov edx, 0x1388
add esi, 0x108c
mov dword [ebp - 0x1a98], eax
cmp ax, dx
jb 0x43edd0
mov eax, dword [ebp - 0x1a94]
inc eax
mov dword [ebp - 0x1a94], eax
movzx eax, ax
mov dword [ebp - 0x1a8c], eax
cmp eax, dword [ebx + 4]
jb 0x43ecb0
mov eax, dword [ebx + 4]
lea edi, [edi + eax*2 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov ebx, dword [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp ebx, 1
jb 0x43ef17
cmp ebx, 4
ja 0x43ef17
push 0
mov dword [0x1a38328], ebx
call fcn.0040b010
add esp, 4
add edi, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
add edi, 4
mov dword [0x1a38328], 1
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
cmp edi, esi
ja 0x447ef1
movzx eax, word [ebx + 6]
shl eax, 8
lea eax, [eax + 0x6444c8]
mov esi, eax
lea edx, [esi + 1]
nop
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x43ef60
sub esi, edx
je 0x43ef7d
movzx ecx, word [ebx + 4]
push eax
push 0
push ecx
push 0xb
call fcn.0040f240
add esp, 0x10
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 0x30
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x43f1d0
mov edx, ecx
cmp ax, dx
jae 0x43f1d0
mov word [0x41ec380], ax
movzx ecx, word [ebx + 6]
mov word [0x41ec382], cx
movzx edx, byte [ebx + 8]
mov byte [0x41ec384], dl
movzx ecx, byte [ebx + 9]
mov byte [0x41ec385], cl
movzx edx, ax
mov eax, dword [0x56895c]
imul edx, edx, 0x108c
mov ecx, dword [eax + edx + 0x94]
add eax, edx
mov dword [0x41ec388], ecx
mov edx, dword [eax + 0x98]
mov dword [0x41ec38c], edx
mov ecx, dword [eax + 0x9c]
mov dword [0x41ec390], ecx
mov edx, dword [eax + 0xa0]
mov dword [0x41ec394], edx
mov ecx, dword [eax + 0xa4]
mov dword [0x41ec398], ecx
mov edx, dword [eax + 0xa8]
mov dword [0x41ec39c], edx
mov ecx, dword [eax + 0xac]
mov dword [0x41ec3a0], ecx
mov edx, dword [eax + 0xb0]
mov dword [0x41ec3a4], edx
mov ecx, dword [eax + 0xb4]
mov dword [0x41ec3a8], ecx
mov edx, dword [eax + 0x5c]
mov dword [0x41ec3ac], edx
mov ecx, dword [eax + 0x60]
mov dword [0x41ec3b0], ecx
mov edx, dword [eax + 0x64]
mov dword [0x41ec3b4], edx
mov ecx, dword [eax + 0x68]
mov dword [0x41ec3b8], ecx
mov edx, dword [eax + 0x6c]
mov dword [0x41ec3bc], edx
mov ecx, dword [eax + 0x70]
mov dword [0x41ec3c0], ecx
mov edx, dword [eax + 0x78]
mov dword [0x41ec3c4], edx
mov ecx, dword [eax + 0x7c]
mov dword [0x41ec3c8], ecx
mov edx, dword [eax + 0x80]
mov dword [0x41ec3cc], edx
mov ecx, dword [eax + 0x84]
mov dword [0x41ec3d0], ecx
mov edx, dword [eax + 0x88]
mov dword [0x41ec3d4], edx
mov eax, dword [eax + 0x8c]
mov dword [0x41ec3d8], eax
movzx ecx, word [ebx + 0xc]
mov word [0x41ec3dc], cx
movzx edx, word [ebx + 0xe]
mov word [0x41ec3de], dx
movzx eax, word [ebx + 0x10]
mov word [0x41ec3e0], ax
movzx ecx, word [ebx + 0x12]
mov word [0x41ec3e2], cx
movzx edx, byte [ebx + 0x14]
mov byte [0x41ec3e4], dl
movzx eax, byte [ebx + 0x15]
mov byte [0x41ec3e5], al
movzx ecx, byte [ebx + 0x16]
mov byte [0x41ec3e6], cl
movzx edx, word [ebx + 0x18]
mov word [0x41ec3e8], dx
movzx eax, word [ebx + 0x1a]
mov word [0x41ec3ea], ax
movzx ecx, word [ebx + 0x1c]
mov word [0x41ec3ec], cx
movzx edx, word [ebx + 0x1e]
mov word [0x41ec3ee], dx
movzx eax, word [ebx + 0x20]
mov word [0x41ec3f0], ax
movzx ecx, word [ebx + 0x22]
mov word [0x41ec3f2], cx
mov edx, dword [ebx + 0x24]
mov dword [0x41ec3f4], edx
mov eax, dword [ebx + 0x28]
mov dword [0x41ec3f8], eax
movzx ecx, byte [ebx + 0x2c]
mov byte [0x41ec3fc], cl
movzx edx, byte [ebx + 0x2d]
mov byte [0x41ec3fd], dl
movzx eax, byte [ebx + 0x2e]
mov byte [0x41ec3fe], al
movzx ecx, byte [ebx + 0x2f]
mov byte [0x41ec3ff], cl
movzx edx, byte [ebx + 0x30]
mov byte [0x41ec400], dl
movzx eax, byte [ebx + 0x31]
mov byte [0x41ec401], al
movzx ecx, byte [ebx + 0x32]
mov byte [0x41ec402], cl
movzx edx, byte [ebx + 0x33]
push 0x39
mov byte [0x41ec403], dl
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
movzx eax, word [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0xa
ja 0x447ef1
mov ecx, 0x270f
cmp word [0x5f375c], cx
jae 0x43f23b
xor edx, edx
xor ecx, ecx
cmp dx, ax
jae 0x43f23b
movzx eax, cx
lea eax, [eax + eax*2]
movzx edx, word [ebx + eax*4 + 8]
lea eax, [ebx + eax*4 + 4]
cmp edx, 0xa
ja 0x447ef1
mov esi, dword [eax + 8]
movzx edx, dx
mov dword [edx*8 + 0x633878], esi
mov eax, dword [eax + 0xc]
inc ecx
mov dword [edx*8 + 0x63387c], eax
cmp cx, word [ebx + 4]
jb 0x43f205
movzx eax, word [ebx + 4]
lea ecx, [eax + eax*2]
lea edi, [edi + ecx*4 + 4]
push 0x3a
mov dword [ebp - 0x1a88], edi
call fcn.00470df0
add esp, 4
jmp 0x43c78f
movzx edx, word [ebx + 0x16]
fstp st(2)
lea eax, [edx + edi + 0x14]
fstp st(1)
fstp st(0)
cmp eax, esi
ja 0x447ef1
push 0x200
lea ecx, [ebp - 0x1904]
push 0
push ecx
call fcn.004cce10
movzx edx, word [ebx + 0x16]
push edx
lea eax, [ebx + 0x18]
push eax
lea ecx, [ebp - 0x1904]
push ecx
call fcn.004cd640
movzx ecx, word [ebx + 0x14]
lea edx, [ebp - 0x1904]
push edx
movzx edx, byte [ebx + 4]
lea eax, [ebx + 8]
push eax
push ecx
push edx
call fcn.0040f240
movzx eax, word [ebx + 0x16]
lea edi, [edi + eax + 0x14]
add esp, 0x28
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [ebx + 4]
cmp eax, 0x800
ja 0x447ef1
lea ecx, [edi + eax*8 + 4]
cmp ecx, esi
ja 0x447ef1
mov edx, 0x270f
cmp word [0x5f375c], dx
jae 0x43f483
mov dword [ebp - 0x1a94], 0
test eax, eax
je 0x43f483
xor edi, edi
lea esp, [esp]
movzx eax, word [ebx + edi*8 + 8]
push eax
call fcn.00406270
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
cmp cx, dx
ja 0x43f46a
movzx esi, ax
mov eax, dword [0x56895c]
imul esi, esi, 0x108c
fld dword [esi + eax + 0x13c]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x43f468
mov ecx, dword [0x56895c]
fld dword [esi + ecx + 0x144]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43f46a
movzx edx, word [ebx + edi*8 + 0xa]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [ebp - 0x1a84]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a8c], eax
fild dword [ebp - 0x1a8c]
test eax, eax
jns 0x43f3b7
fadd dword [0x4e4558]
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
fstp dword [esi + eax + 0x230]
mov ecx, dword [0x56895c]
fld dword [ebp - 0x1a84]
fst dword [esi + ecx + 0x158]
movzx edx, word [ebx + edi*8 + 0xc]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0xd8]
movzx ecx, word [ebx + edi*8 + 0xe]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xdc]
mov eax, dword [0x56895c]
mov byte [esi + eax + 2], 1
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fsub dword [esi + eax + 0xb8]
fdiv st(1)
fstp dword [esi + eax + 0xe8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xdc]
fsub dword [esi + eax + 0xbc]
fdivrp st(1)
fstp dword [esi + eax + 0xec]
jmp 0x43f46a
fstp st(0)
mov eax, dword [ebp - 0x1a94]
inc eax
movzx edi, ax
mov dword [ebp - 0x1a94], eax
cmp edi, dword [ebx + 4]
jb 0x43f320
mov edx, dword [ebp - 0x1a88]
mov ecx, dword [ebx + 4]
lea eax, [edx + ecx*8 + 4]
mov dword [ebp - 0x1a88], eax
mov edi, eax
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [ebx + 4]
cmp eax, 0x800
ja 0x447ef1
lea ecx, [eax + eax*2]
lea edx, [edi + ecx*4 + 4]
cmp edx, esi
ja 0x447ef1
mov ecx, 0x270f
cmp word [0x5f375c], cx
jae 0x43f851
mov dword [ebp - 0x1a94], 0
test eax, eax
je 0x43f851
xor eax, eax
lea edx, [eax + eax*2]
movzx eax, word [ebx + edx*4 + 8]
lea edi, [ebx + edx*4 + 4]
push eax
call fcn.00406270
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
cmp cx, dx
ja 0x43f838
cmp dword [edi + 0xc], 1
jne 0x43f784
movzx ecx, word [edi + 8]
movzx esi, ax
movzx eax, word [edi + 6]
imul esi, esi, 0x108c
mov dword [ebp - 0x1a84], eax
mov eax, dword [0x56895c]
fild dword [ebp - 0x1a84]
mov dword [ebp - 0x1a84], ecx
fsub dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1a8c]
fild dword [ebp - 0x1a84]
fsub dword [esi + eax + 0xbc]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fld dword [ebp - 0x1a8c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
call fcn.004ccf10
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fstp dword [ebp - 0x1a90]
fld dword [ebp - 0x1a90]
fcom qword [0x4e44f0]
fnstsw ax
test ah, 0x41
jne 0x43f722
mov edx, dword [0x56895c]
fld dword [esi + edx + 0x13c]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x43f720
mov eax, edx
fld dword [esi + eax + 0x144]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43f722
fld dword [0x4e45ec]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x43f60b
fstp st(1)
fstp dword [ebp - 0x1a90]
jmp 0x43f624
fstp st(0)
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x43f622
fstp dword [ebp - 0x1a90]
jmp 0x43f624
fstp st(0)
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x43f640
fadd dword [0x4e4558]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
fstp dword [esi + eax + 0x230]
mov edx, dword [0x56895c]
fld dword [ebp - 0x1a90]
fstp dword [esi + edx + 0x158]
movzx eax, word [edi + 6]
mov ecx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fstp dword [esi + ecx + 0xd8]
movzx edx, word [edi + 8]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0xdc]
movzx ecx, word [edi + 0xa]
mov dword [ebp - 0x1a84], ecx
mov edx, dword [0x56895c]
fild dword [ebp - 0x1a84]
fdiv qword [0x4e5d08]
fstp dword [esi + edx + 0xd4]
mov eax, dword [0x56895c]
mov byte [esi + eax + 2], 1
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fsub dword [esi + eax + 0xb8]
fdiv dword [esi + eax + 0x158]
fstp dword [esi + eax + 0xe8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xdc]
fsub dword [esi + eax + 0xbc]
fdiv dword [esi + eax + 0x158]
fstp dword [esi + eax + 0xec]
jmp 0x43f838
fstp st(1)
mov ecx, dword [0x56895c]
fstp st(0)
fldz
fstp dword [esi + ecx + 0x158]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [esi + eax + 0xd8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xbc]
fstp dword [esi + eax + 0xdc]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [esi + eax + 0xe8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xbc]
fstp dword [esi + eax + 0xec]
jmp 0x43f838
mov edx, dword [0x56895c]
movzx ecx, ax
imul ecx, ecx, 0x108c
fld dword [ecx + edx + 0x13c]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x43f836
fld dword [ecx + edx + 0x144]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x43f836
fstp dword [ecx + edx + 0x158]
mov eax, dword [0x56895c]
fld dword [ecx + eax + 0xb8]
fstp dword [ecx + eax + 0xd8]
mov eax, dword [0x56895c]
fld dword [ecx + eax + 0xbc]
fstp dword [ecx + eax + 0xdc]
mov eax, dword [0x56895c]
fld dword [ecx + eax + 0xb8]
fstp dword [ecx + eax + 0xe8]
mov eax, dword [0x56895c]
fld dword [ecx + eax + 0xbc]
fstp dword [ecx + eax + 0xec]
movzx edx, word [edi + 0xa]
mov dword [ebp - 0x1a84], edx
mov eax, dword [0x56895c]
fild dword [ebp - 0x1a84]
fdiv qword [0x4e5d08]
fstp dword [ecx + eax + 0xd4]
jmp 0x43f838
fstp st(0)
mov eax, dword [ebp - 0x1a94]
inc eax
mov dword [ebp - 0x1a94], eax
movzx eax, ax
cmp eax, dword [ebx + 4]
jb 0x43f4f3
mov ebx, dword [ebx + 4]
mov edx, dword [ebp - 0x1a88]
lea ecx, [ebx + ebx*2]
lea eax, [edx + ecx*4 + 4]
mov dword [ebp - 0x1a88], eax
mov edi, eax
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
mov dword [ebp - 0x1a88], edi
cmp edi, esi
ja 0x447ef1
movzx ecx, word [ebx + 4]
push ecx
call fcn.00406270
mov edx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], dx
jae 0x4407e1
lea ecx, [eax - 1]
mov edx, 0x270d
cmp cx, dx
ja 0x4407e1
mov cl, byte [ebx + 0xf]
cmp cl, 1
jne 0x43fb0c
movzx ecx, word [ebx + 0xa]
mov edx, dword [0x56895c]
movzx esi, ax
imul esi, esi, 0x108c
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xd8]
movzx ecx, word [ebx + 0xc]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xdc]
movzx ecx, word [ebx + 0xa]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xb8]
movzx ecx, word [ebx + 0xc]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xbc]
movzx ecx, byte [ebx + 0xe]
mov dword [ebp - 0x1a84], ecx
mov edx, dword [0x56895c]
fild dword [ebp - 0x1a84]
fdiv qword [0x4e4458]
fstp dword [esi + edx + 0xd4]
fldz
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0xe8]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0xec]
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0x158]
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x124], 0
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x128]
mov edx, dword [0x56895c]
mov byte [esi + edx + 2], 1
cmp ax, word [0x5f375c]
jne 0x4407e1
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1bc0]
fld dword [esi + eax + 0xbc]
mov eax, dword [ebp - 0x1bc0]
fstp dword [ebp - 0x1bbc]
mov ecx, dword [ebp - 0x1bbc]
fld dword [0x4e4820]
mov dword [ebp - 0x19ac], eax
mov dword [ebp - 0x19a8], ecx
fstp dword [ebp - 0x1bb8]
mov edx, dword [ebp - 0x1bb8]
lea eax, [ebp - 0x1c30]
push eax
mov dword [ebp - 0x19a4], edx
lea ecx, [ebp - 0x1b6c]
push ecx
lea edx, [ebp - 0x1be8]
push edx
lea eax, [ebp - 0x1b80]
push eax
lea ecx, [ebp - 0x1c10]
push ecx
mov ecx, dword [0x53b1ec]
lea edx, [ebp - 0x19ac]
push edx
call fcn.0048df40
fld dword [ebp - 0x1c30]
mov eax, dword [ebp - 0x1be8]
mov ecx, dword [ebp - 0x1b80]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp - 0x1b6c]
fstp dword [esp]
push eax
push ecx
mov ecx, dword [0x53b1ec]
call fcn.00497ef0
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x214], eax
fld dword [ebp - 0x1c10]
fsubr qword [0x4e4c18]
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0xc0]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [0x422686c]
fld dword [esi + eax + 0xbc]
fstp dword [0x4226870]
fld dword [esi + eax + 0xc0]
fstp dword [0x4226874]
fld dword [0x4227104]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x43faf1
fld dword [0x4e48dc]
fstp dword [0x4227104]
mov edi, dword [ebp - 0x1a88]
mov dword [0x6a4164], 1
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp cl, 2
jne 0x43fd7a
mov ecx, dword [0x56895c]
movzx edi, ax
mov esi, edi
imul esi, esi, 0x108c
mov byte [esi + ecx + 2], 1
movzx edx, word [ebx + 0xa]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0xd8]
movzx ecx, word [ebx + 0xc]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xdc]
movzx eax, byte [ebx + 0xe]
mov dword [ebp - 0x1a84], eax
mov ecx, dword [0x56895c]
fild dword [ebp - 0x1a84]
fdiv qword [0x4e4458]
fstp dword [esi + ecx + 0xd4]
fldz
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x124], 0
mov eax, dword [0x56895c]
fst dword [esi + eax + 0x128]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x14c]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x43fbcf
fadd dword [0x4e4558]
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
sub esp, 8
fstp dword [esi + eax + 0x230]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fsub dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1a8c]
fld dword [esi + eax + 0xdc]
fsub dword [esi + eax + 0xbc]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fld st(0)
fld dword [ebp - 0x1a8c]
fld st(0)
fmul st(0), st(0)
fld st(2)
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [ebp - 0x1a84]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0047f1a0
fadd qword [0x4e47e8]
add esp, 8
fstp dword [ebp - 0x1a8c]
fld dword [ebp - 0x1a8c]
fld qword [0x4e4540]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x43fc81
fsubp st(1)
fstp dword [ebp - 0x1a8c]
fld dword [ebp - 0x1a8c]
jmp 0x43fc83
fstp st(0)
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0xd4]
fld dword [ebp - 0x1a84]
call fcn.004ccf10
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
mov eax, dword [0x56895c]
fdiv qword [0x4e4508]
fstp dword [ebp - 0x1a84]
fld dword [esi + eax + 0xb8]
fstp dword [esi + eax + 0xe0]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xbc]
fstp dword [esi + eax + 0xe4]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fsub dword [esi + eax + 0xb8]
fld dword [ebp - 0x1a84]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esi + eax + 0xe8]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xdc]
fsub dword [esi + eax + 0xbc]
fdiv st(1)
fstp dword [esi + eax + 0xec]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x144]
mov edx, dword [0x56895c]
fldz
fstp dword [esi + edx + 0x148]
mov eax, dword [0x56895c]
cmp byte [esi + eax + 5], 1
jne 0x43fd5e
push 5
push edi
call fcn.00401650
mov edi, dword [ebp - 0x1a88]
add esp, 8
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
push 1
push edi
call fcn.00401990
mov edi, dword [ebp - 0x1a88]
add esp, 8
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp cl, 3
je 0x440085
cmp cl, 5
je 0x440085
cmp cl, 4
jne 0x4407e1
mov ecx, dword [0x56895c]
movzx edi, ax
mov esi, edi
imul esi, esi, 0x108c
mov byte [esi + ecx + 2], 1
movzx edx, word [ebx + 6]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0xb8]
movzx ecx, word [ebx + 8]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xbc]
movzx eax, word [ebx + 0xa]
mov ecx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fstp dword [esi + ecx + 0xd8]
movzx edx, word [ebx + 0xc]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0xdc]
movzx ecx, byte [ebx + 0xe]
mov dword [ebp - 0x1a84], ecx
mov edx, dword [0x56895c]
fild dword [ebp - 0x1a84]
fdiv qword [0x4e4458]
fstp dword [esi + edx + 0xd4]
fldz
mov eax, dword [0x56895c]
mov dword [esi + eax + 0x124], 0
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0x128]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0x13c]
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0x14c]
fld1
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x21c]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x43fea3
fadd dword [0x4e4558]
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
sub esp, 8
fstp dword [esi + eax + 0x230]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fsub dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1a84]
fld dword [esi + eax + 0xdc]
fsub dword [esi + eax + 0xbc]
fstp dword [ebp - 0x1a94]
fld dword [ebp - 0x1a94]
fld st(0)
fld dword [ebp - 0x1a84]
fld st(0)
fmul st(0), st(0)
fld st(2)
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [ebp - 0x1a90]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0047f1a0
fadd qword [0x4e47e8]
add esp, 8
fstp dword [ebp - 0x1a8c]
fld dword [ebp - 0x1a8c]
fld qword [0x4e4540]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x43ff55
fsubp st(1)
fstp dword [ebp - 0x1a8c]
fld dword [ebp - 0x1a8c]
jmp 0x43ff57
fstp st(0)
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0xd4]
fld dword [ebp - 0x1a90]
call fcn.004ccf10
fstp dword [ebp - 0x1a8c]
fld dword [ebp - 0x1a8c]
mov eax, dword [0x56895c]
fdiv qword [0x4e4690]
fstp dword [ebp - 0x1a8c]
fld dword [esi + eax + 0xb8]
fstp dword [esi + eax + 0xe0]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xbc]
fstp dword [esi + eax + 0xe4]
fld dword [ebp - 0x1a84]
mov ecx, dword [0x56895c]
fld dword [ebp - 0x1a8c]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esi + ecx + 0xe8]
fld dword [ebp - 0x1a94]
fdiv st(1)
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0xec]
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0x144]
mov ecx, dword [0x56895c]
fldz
fstp dword [esi + ecx + 0x148]
mov edx, dword [0x56895c]
fld dword [0x4e46bc]
fstp dword [esi + edx + 0xc8]
mov ecx, dword [0x56895c]
fld dword [esi + ecx + 0xc0]
fld dword [esi + ecx + 0xc4]
lea edx, [esi + ecx + 0xc0]
lea ebx, [esi + ecx + 0xc4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x440049
fld dword [ebx]
fadd qword [0x4e44f0]
fstp dword [edx]
mov ecx, dword [0x56895c]
fld dword [esi + ecx + 0xc8]
lea edx, [esi + ecx + 0xc0]
fadd dword [edx]
lea ebx, [esi + ecx + 0xc4]
fld dword [ebx]
fcompp
fnstsw ax
test ah, 1
jne 0x44007b
fld dword [ebx]
fadd qword [0x4e44f0]
fstp dword [edx]
mov ecx, dword [0x56895c]
cmp byte [esi + ecx + 5], 1
jmp 0x43fd40
mov ecx, dword [0x56895c]
movzx edi, ax
mov esi, edi
imul esi, esi, 0x108c
fld dword [esi + ecx + 0x13c]
mov byte [esi + ecx + 2], 0
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x4403f5
movzx eax, word [ebx + 6]
mov ecx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fstp dword [esi + ecx + 0xb8]
movzx edx, word [ebx + 8]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0xbc]
movzx ecx, word [ebx + 0xa]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xd8]
movzx eax, word [ebx + 0xc]
mov ecx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fstp dword [esi + ecx + 0xdc]
movzx edx, byte [ebx + 0xe]
mov dword [ebp - 0x1a84], edx
mov eax, dword [0x56895c]
fild dword [ebp - 0x1a84]
fdiv qword [0x4e4458]
fstp dword [esi + eax + 0xd4]
mov ecx, dword [0x56895c]
mov dword [esi + ecx + 0x124], 0
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0x128]
mov eax, dword [0x56895c]
fld1
fstp dword [esi + eax + 0x21c]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x440192
fadd dword [0x4e4558]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
sub esp, 8
fstp dword [esi + eax + 0x230]
movzx edx, word [ebx + 6]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fld dword [esi + eax + 0xd8]
fild dword [ebp - 0x1a84]
fsubp st(1)
fstp dword [ebp - 0x1a94]
fld dword [esi + eax + 0xdc]
movzx eax, word [ebx + 8]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
fsubp st(1)
fstp dword [ebp - 0x1a90]
fld dword [ebp - 0x1a90]
fstp dword [esp + 4]
fld dword [ebp - 0x1a94]
fstp dword [esp]
call fcn.0047f1a0
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0xd4]
add esp, 8
fld dword [ebp - 0x1a94]
fld dword [ebp - 0x1a90]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
call fcn.004ccf10
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
mov edx, dword [0x56895c]
fstp dword [ebp - 0x1a8c]
fld dword [ebp - 0x1a8c]
fld qword [0x4e4508]
fdivr st(1)
fstp dword [ebp - 0x1a8c]
fdiv qword [0x4e4698]
fstp dword [esi + edx + 0xf8]
fld dword [ebp - 0x1a8c]
fld st(0)
mov eax, dword [0x56895c]
fdivr qword [0x4e47e8]
fstp dword [esi + eax + 0xfc]
fld dword [ebp - 0x1a94]
fdiv st(1)
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0xe8]
mov edx, dword [0x56895c]
fdivr dword [ebp - 0x1a90]
fstp dword [esi + edx + 0xec]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fstp dword [ebp - 0x1ac4]
fld dword [esi + eax + 0xdc]
mov eax, dword [ebp - 0x1ac4]
fstp dword [ebp - 0x1ac0]
fld dword [0x4e4820]
mov ecx, dword [ebp - 0x1ac0]
mov dword [ebp - 0x1964], eax
fstp dword [ebp - 0x1abc]
mov edx, dword [ebp - 0x1abc]
lea eax, [ebp - 0x1964]
mov dword [ebp - 0x1960], ecx
mov ecx, dword [0x53b1ec]
push eax
mov dword [ebp - 0x195c], edx
call fcn.0048d3d0
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fcom qword [0x4e4450]
fnstsw ax
test ah, 5
jp 0x44035b
fsubr qword [0x4e4818]
mov eax, dword [0x56895c]
fsub dword [esi + eax + 0xc0]
fdiv dword [ebp - 0x1a8c]
fstp dword [esi + eax + 0xf0]
jmp 0x44036c
mov ecx, dword [0x56895c]
fstp st(0)
fldz
fstp dword [esi + ecx + 0xf0]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc0]
fstp dword [esi + eax + 0xf4]
mov edx, dword [0x56895c]
fld dword [ebp - 0x1a8c]
fstp dword [esi + edx + 0x13c]
mov eax, dword [0x56895c]
fldz
fstp dword [esi + eax + 0x140]
mov ecx, dword [0x56895c]
cmp byte [esi + ecx + 5], 1
jne 0x4403cd
push 3
push edi
call fcn.00401650
add esp, 8
cmp byte [ebx + 0xf], 5
jne 0x4403cd
fld1
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0x12c]
mov eax, dword [0x56895c]
lea ecx, [esi + eax + 0x1dc]
push 0x1e
push ecx
call fcn.004368b0
mov edi, dword [ebp - 0x1a88]
add esp, 8
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
movzx edx, word [ebx + 0xa]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0xd8]
movzx ecx, word [ebx + 0xc]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0xdc]
movzx eax, byte [ebx + 0xe]
mov dword [ebp - 0x1a84], eax
mov ecx, dword [0x56895c]
fild dword [ebp - 0x1a84]
fdiv qword [0x4e4458]
fstp dword [esi + ecx + 0xd4]
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x124], 0
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0x128]
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x44048a
fadd dword [0x4e4558]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x228]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x228]
sub esp, 8
fstp dword [esi + eax + 0x230]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fsub dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1a94]
fld dword [esi + eax + 0xdc]
fsub dword [esi + eax + 0xbc]
fstp dword [ebp - 0x1a90]
fld dword [ebp - 0x1a90]
fstp dword [esp + 4]
fld dword [ebp - 0x1a94]
fstp dword [esp]
call fcn.0047f1a0
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0xd4]
add esp, 8
fld dword [ebp - 0x1a94]
fld dword [ebp - 0x1a90]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
call fcn.004ccf10
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
mov eax, dword [0x56895c]
fstp dword [ebp - 0x1a8c]
fld dword [ebp - 0x1a8c]
fld qword [0x4e4508]
fdivr st(1)
fstp dword [ebp - 0x1a8c]
fdiv qword [0x4e4698]
fstp dword [esi + eax + 0xf8]
fld dword [ebp - 0x1a94]
fld dword [ebp - 0x1a8c]
mov ecx, dword [0x56895c]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esi + ecx + 0xe8]
fld dword [ebp - 0x1a90]
fdiv st(1)
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0xec]
mov eax, dword [0x56895c]
fst dword [esi + eax + 0x13c]
mov ecx, dword [0x56895c]
fld dword [esi + ecx + 0xc0]
fsub dword [esi + ecx + 0xc4]
fcomp qword [0x4e4c38]
fnstsw ax
test ah, 0x41
jne 0x4406db
fdivr qword [0x4e5e50]
fstp dword [esi + ecx + 0xfc]
fld dword [0x4e5e48]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x140]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xf8]
fstp dword [ebp - 0x1c00]
fldz
mov edx, dword [ebp - 0x1c00]
fst dword [ebp - 0x1bfc]
mov dword [ebp - 0x1940], edx
fstp dword [ebp - 0x1bf8]
mov ecx, dword [ebp - 0x1bfc]
mov edx, dword [ebp - 0x1bf8]
mov dword [ebp - 0x193c], ecx
mov dword [ebp - 0x1938], edx
fld dword [esi + eax + 0x140]
push ecx
lea eax, [ebp - 0x1a80]
fstp dword [esp]
push eax
call fcn.004a5e01
lea ecx, [ebp - 0x1a80]
push ecx
lea edx, [ebp - 0x1940]
push edx
mov eax, edx
push eax
call fcn.004a60cb
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc0]
fsub dword [ebp - 0x193c]
fstp dword [esi + eax + 0xc0]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc0]
fstp dword [esi + eax + 0xf4]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fstp dword [ebp - 0x1ae0]
mov ecx, dword [ebp - 0x1ae0]
fld dword [esi + eax + 0xdc]
mov dword [ebp - 0x19d0], ecx
fstp dword [ebp - 0x1adc]
mov edx, dword [ebp - 0x1adc]
fld dword [0x4e4820]
mov dword [ebp - 0x19cc], edx
fstp dword [ebp - 0x1ad8]
mov eax, dword [ebp - 0x1ad8]
mov dword [ebp - 0x19c8], eax
lea ecx, [ebp - 0x19d0]
jmp 0x44075e
fdivr qword [0x4e47e8]
fstp dword [esi + ecx + 0xfc]
fldz
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0x140]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc0]
fstp dword [esi + eax + 0xf4]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xd8]
fstp dword [ebp - 0x1aec]
fld dword [esi + eax + 0xdc]
mov ecx, dword [ebp - 0x1aec]
fstp dword [ebp - 0x1ae8]
mov dword [ebp - 0x197c], ecx
fld dword [0x4e4820]
mov edx, dword [ebp - 0x1ae8]
fstp dword [ebp - 0x1ae4]
mov dword [ebp - 0x1978], edx
mov eax, dword [ebp - 0x1ae4]
mov dword [ebp - 0x1974], eax
lea ecx, [ebp - 0x197c]
push ecx
mov ecx, dword [0x53b1ec]
call fcn.0048d3d0
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fcom qword [0x4e4450]
fnstsw ax
test ah, 5
jp 0x4407a4
fsubr qword [0x4e4818]
mov eax, dword [0x56895c]
fsub dword [esi + eax + 0xc0]
fdiv dword [ebp - 0x1a8c]
fstp dword [esi + eax + 0xf0]
jmp 0x4407b5
mov edx, dword [0x56895c]
fstp st(0)
fldz
fstp dword [esi + edx + 0xf0]
mov eax, dword [0x56895c]
cmp byte [esi + eax + 5], 1
jne 0x4407e1
push 3
push edi
call fcn.00401650
add esp, 8
cmp byte [ebx + 0xf], 5
jne 0x4407e1
fld1
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x12c]
mov edi, dword [ebp - 0x1a88]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
lea esi, [edi + 4]
fstp st(1)
fstp st(0)
cmp esi, dword [ebp + 0xc]
ja 0x447ef1
push 0xffffffffffffffff
call fcn.0040cf70
xor edi, edi
add esp, 4
mov dword [0x5f4844], edi
call fcn.004570c0
mov ecx, dword [0x6a30b8]
call fcn.00487bb0
movzx eax, word [0x5f375c]
mov edx, dword [ebx + 4]
imul eax, eax, 0x108c
mov ecx, dword [0x56895c]
push 0x108c
push edi
mov dword [0x1a2e664], edx
push 0x41ec448
mov byte [eax + ecx + 0x11], 0
call fcn.004cce10
movzx edx, word [0x5f375c]
imul edx, edx, 0x108c
add edx, dword [0x56895c]
push 0x108c
push edx
push 0x41ec448
call fcn.004cd640
mov ax, word [0x6a307c]
mov ecx, 0xffff
mov edx, 0x270f
add esp, 0x18
mov word [0x64004c], ax
mov word [0x6a307c], cx
mov word [0x5f375c], dx
call dword [sym.imp.WINMM.dll_timeGetTime]
fldz
mov dword [0x568960], eax
mov eax, dword [0x631f6c]
fst dword [0x5e90d4]
mov dword [0x6a5568], edi
fstp dword [0x64403c]
mov dword [0x6a556c], edi
mov dword [0x6a5570], edi
mov dword [0x6a5574], edi
mov edi, esi
mov dword [0x5256bc], 6
mov dword [0x526908], 0x48
mov dword [0x6423b0], eax
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov al, byte [ebx + 0xd]
fstp st(2)
fstp st(1)
fstp st(0)
cmp al, 0x18
ja 0x447ef1
cmp dword [0x526908], 0x50
jne 0x447ef1
mov ecx, 0x270f
cmp word [0x5f375c], cx
jae 0x440a20
movzx ecx, word [ebx + 8]
lea edx, [ebx + 0x10]
push edx
movzx edx, byte [ebx + 0xc]
push eax
movzx eax, word [ebx + 0xa]
push eax
movzx eax, word [ebx + 4]
push ecx
movzx ecx, word [ebx + 6]
push edx
push eax
push ecx
call fcn.0041a230
xor esi, esi
add esp, 0x1c
cmp byte [ebx + 0xd], 0
mov dword [ebp - 0x1a94], esi
jbe 0x4409dc
movzx edx, si
movzx ecx, word [ebx + edx*8 + 0x10]
lea eax, [ebx + edx*8 + 4]
test cx, cx
je 0x4409cc
movzx edx, word [eax + 0xe]
test dx, dx
je 0x4409cc
movzx esi, word [eax + 0x12]
push ecx
imul esi, edx
call fcn.00406270
mov edx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov ecx, dword [eax + edx + 0x1c8]
add esp, 4
cmp ecx, esi
jbe 0x4409b0
sub ecx, esi
mov dword [eax + edx + 0x1c8], ecx
jmp 0x4409bb
mov dword [eax + edx + 0x1c8], 0
mov ecx, dword [0x56895c]
mov esi, dword [ebp - 0x1a94]
mov byte [eax + ecx + 0x10], 1
movzx edx, byte [ebx + 0xd]
inc esi
mov dword [ebp - 0x1a94], esi
cmp si, dx
jb 0x440961
mov eax, 0xf3
cmp word [ebx + 4], ax
jne 0x440a20
movzx eax, word [ebx + 6]
test ax, ax
je 0x440a20
push eax
call fcn.00406270
movzx eax, ax
movzx eax, ax
imul eax, eax, 0x108c
add eax, dword [0x56895c]
movzx ecx, byte [eax + 0x1083]
push ecx
add eax, 0x1dc
push 0xa
push eax
call fcn.00437110
add esp, 0x10
movzx edx, byte [ebx + 0xd]
add dx, dx
add dx, dx
add dx, dx
add dx, 0xc
movzx eax, dx
add edi, eax
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
mov dword [ebp - 0x1a88], edi
cmp edi, esi
ja 0x447ef1
movzx ecx, word [ebx + 8]
push ecx
call fcn.00406270
mov edx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], dx
jae 0x4411d7
lea ecx, [eax - 1]
mov edx, 0x270d
cmp cx, dx
ja 0x4411d7
movzx ecx, word [ebx + 6]
mov dx, word [0x6a307c]
mov dword [ebp - 0x1a8c], ecx
cmp word [ebx + 0xa], dx
jne 0x440ac3
mov edx, dword [0x56895c]
movzx ecx, ax
imul ecx, ecx, 0x108c
mov byte [ecx + edx + 0x10], 1
mov ecx, dword [0x56895c]
movzx edx, word [ebx + 0xe]
mov edi, dword [0x56895c]
movzx esi, ax
imul esi, esi, 0x108c
add edx, dword [esi + ecx + 0x1c8]
mov edi, dword [esi + edi + 0x1cc]
lea ecx, [esi + ecx + 0x1c8]
cmp edx, edi
jae 0x440af9
mov dword [ecx], edx
jmp 0x440afb
mov dword [ecx], edi
fldz
fst dword [ebp - 0x1970]
fst dword [ebp - 0x196c]
fstp dword [ebp - 0x1968]
movzx ecx, word [ebx + 0xe]
movzx edx, word [ebx + 4]
push ecx
push edx
push 0
lea ecx, [ebp - 0x1970]
push ecx
push eax
push eax
call fcn.0040e140
add esp, 0x18
test byte [ebp - 0x1a8c], 1
jbe 0x440bd4
cmp dword [0x1a82f74], 1
jne 0x440bd4
call fcn.0043ba40
fld qword [0x4e4620]
fsub st(1), st(0)
fmulp st(1)
fstp dword [ebp - 0x1a84]
call fcn.0043ba40
fld qword [0x4e4620]
fsub st(1), st(0)
fmulp st(1)
fstp dword [ebp - 0x1a94]
fld dword [ebp - 0x1a84]
fstp dword [ebp - 0x1c4c]
fld dword [ebp - 0x1a94]
fstp dword [ebp - 0x1c48]
call fcn.0043ba40
fld qword [0x4e4620]
mov edx, dword [0x56895c]
fsub st(1), st(0)
lea eax, [esi + edx + 0x1e8]
push eax
lea ecx, [ebp - 0x1a00]
fmulp st(1)
push ecx
lea ecx, [ebp - 0x1c4c]
fstp dword [ebp - 0x1c44]
call fcn.004061d0
mov ebx, 5
lea edx, [ebp - 0x1a00]
push ebx
push edx
call fcn.004361e0
add esp, 8
jmp 0x440bd9
mov ebx, 5
test byte [ebp - 0x1a8c], 2
jbe 0x440fb4
cmp dword [0x1a82f74], 1
jne 0x440fb4
fldz
mov edx, dword [0x56895c]
fst dword [ebp - 0x1aa4]
mov edi, dword [ebp - 0x1aa4]
fst dword [ebp - 0x1aa0]
fld dword [0x4e4920]
mov eax, dword [ebp - 0x1aa0]
fstp dword [ebp - 0x1a9c]
mov dword [ebp - 0x1924], eax
mov ecx, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1920], ecx
fst dword [ebp - 0x1c40]
lea eax, [esi + edx + 0x1e8]
fstp dword [ebp - 0x1c3c]
push eax
fld dword [0x4e48dc]
lea ecx, [ebp - 0x1c58]
push ecx
fstp dword [ebp - 0x1c38]
lea ecx, [ebp - 0x1c40]
mov dword [ebp - 0x1928], edi
call fcn.004061d0
mov edx, dword [eax]
mov dword [ebp - 0x191c], edx
mov ecx, dword [eax + 4]
push 0x2c0
mov dword [ebp - 0x1918], ecx
mov edx, dword [eax + 8]
push 0
push 0x421ca00
mov dword [ebp - 0x1914], edx
call fcn.004cce10
fld dword [0x4e453c]
fstp dword [0x421cb34]
mov ecx, dword [ebp - 0x191c]
fld dword [0x4e4538]
mov edx, dword [ebp - 0x1918]
fstp dword [0x421cb38]
mov eax, 4
fld dword [0x4e4504]
mov word [0x421ca16], ax
mov eax, dword [ebp - 0x1914]
fstp dword [0x421cb3c]
fld dword [0x4e4500]
mov dword [0x421ca1c], ecx
mov ecx, dword [ebp - 0x1aa0]
fst dword [0x421cb40]
fld1
mov dword [0x421ca20], edx
mov edx, dword [ebp - 0x1a9c]
fst dword [0x421cb4c]
fxch st(1)
mov dword [0x421ca24], eax
fstp dword [0x421cb50]
mov dword [0x421ca4c], edi
fld dword [0x4e44fc]
mov dword [0x421ca50], ecx
fstp dword [0x421cb54]
mov edi, 0x14
fld dword [0x4e4524]
add esp, 0xc
fstp dword [0x421cb58]
mov word [0x421ca01], 0x101
fld dword [0x4e4520]
mov word [0x421ca13], 0x500
fst dword [ebp - 0x1b08]
mov dword [0x421ca54], edx
mov eax, dword [ebp - 0x1b08]
fst dword [ebp - 0x1b04]
mov ecx, dword [ebp - 0x1b04]
fxch st(1)
fst dword [ebp - 0x1b00]
mov dword [0x421cb44], edi
fld dword [0x4e451c]
mov dword [0x421cb48], 0x1e
fst dword [ebp - 0x1afc]
mov byte [0x421ca12], 1
mov dword [0x421cb5c], ebx
mov dword [0x421cb60], ebx
mov dword [0x421cc1c], eax
mov dword [0x421cc20], ecx
mov edx, dword [ebp - 0x1b00]
fxch st(2)
mov eax, dword [ebp - 0x1afc]
fst dword [ebp - 0x1b24]
mov ecx, dword [ebp - 0x1b24]
fstp dword [ebp - 0x1b20]
mov dword [0x421cc2c], ecx
fstp dword [ebp - 0x1b1c]
mov dword [0x421cc24], edx
mov edx, dword [ebp - 0x1b20]
fstp dword [ebp - 0x1b18]
mov ecx, dword [ebp - 0x1b18]
mov dword [0x421cc28], eax
mov eax, dword [ebp - 0x1b1c]
mov dword [0x421cc38], ecx
mov ecx, dword [0x41ec420]
push 0x421ca00
mov dword [0x421cc30], edx
mov dword [0x421cc34], eax
call fcn.004813c0
push 0x2c0
push 0
push 0x421ca00
call fcn.004cce10
fld dword [0x4e453c]
fstp dword [0x421cb34]
mov eax, dword [ebp - 0x191c]
fld dword [0x4e4538]
mov ecx, dword [ebp - 0x1918]
fstp dword [0x421cb38]
mov edx, 4
fld dword [0x4e4504]
mov word [0x421ca16], dx
fst dword [0x421cb3c]
mov edx, dword [ebp - 0x1914]
fld dword [0x4e4500]
mov dword [0x421ca1c], eax
fst dword [0x421cb40]
mov eax, dword [ebp - 0x1928]
fxch st(1)
mov dword [0x421ca20], ecx
mov ecx, dword [ebp - 0x1924]
fstp dword [0x421cb4c]
mov dword [0x421ca24], edx
mov edx, dword [ebp - 0x1920]
fstp dword [0x421cb50]
fld dword [0x4e4524]
mov dword [0x421ca4c], eax
fstp dword [0x421cb58]
mov dword [0x421ca50], ecx
fld dword [0x4e4520]
mov dword [0x421ca54], edx
fst dword [ebp - 0x1b40]
mov eax, dword [ebp - 0x1b40]
fst dword [ebp - 0x1b3c]
mov ecx, dword [ebp - 0x1b3c]
fld1
mov dword [0x421cc1c], eax
fst dword [ebp - 0x1b38]
mov dword [0x421cc20], ecx
fld dword [0x4e451c]
mov edx, dword [ebp - 0x1b38]
fst dword [ebp - 0x1b34]
add esp, 0xc
mov eax, dword [ebp - 0x1b34]
fxch st(2)
fst dword [ebp - 0x1b54]
mov word [0x421ca01], 0x101
mov ecx, dword [ebp - 0x1b54]
fstp dword [ebp - 0x1b50]
mov word [0x421ca13], 0x800
mov dword [0x421cb44], edi
fstp dword [ebp - 0x1b4c]
mov dword [0x421cb48], 0x1e
mov byte [0x421ca12], 1
fstp dword [ebp - 0x1b48]
mov dword [0x421cb5c], ebx
mov dword [0x421cb60], ebx
mov dword [0x421cc24], edx
mov dword [0x421cc28], eax
mov dword [0x421cc2c], ecx
mov ecx, dword [ebp - 0x1b48]
mov edx, dword [ebp - 0x1b50]
mov eax, dword [ebp - 0x1b4c]
mov dword [0x421cc38], ecx
mov ecx, dword [0x41ec420]
push 0x421ca00
mov dword [0x421cc30], edx
mov dword [0x421cc34], eax
call fcn.004813c0
test byte [ebp - 0x1a8c], 8
jbe 0x4411d7
cmp dword [0x1a82f74], 1
jne 0x4411d7
fld dword [0x4e451c]
mov dword [ebp - 0x1a84], ebx
fst dword [ebp - 0x1af8]
mov edx, dword [ebp - 0x1af8]
fldz
mov dword [ebp - 0x1928], edx
fst dword [ebp - 0x1af4]
mov eax, dword [ebp - 0x1af4]
fstp dword [ebp - 0x1af0]
fld1
mov ecx, dword [ebp - 0x1af0]
fst dword [ebp - 0x1b68]
mov dword [ebp - 0x1924], eax
fld dword [0x4e4520]
mov dword [ebp - 0x1920], ecx
fst dword [ebp - 0x1b64]
fstp dword [ebp - 0x1b78]
fst dword [ebp - 0x1b60]
fst dword [ebp - 0x1b7c]
fstp dword [ebp - 0x1b74]
fst dword [ebp - 0x1b5c]
mov edi, dword [ebp - 0x1b5c]
fstp dword [ebp - 0x1b70]
call fcn.0043ba40
fmul qword [0x4e4540]
push ecx
lea edx, [ebp - 0x1a40]
fstp dword [ebp - 0x1a8c]
fld dword [ebp - 0x1a8c]
fstp dword [esp]
push edx
call fcn.004a5e01
lea eax, [ebp - 0x1a40]
push eax
lea ecx, [ebp - 0x1928]
push ecx
lea edx, [ebp - 0x191c]
push edx
call fcn.004a60cb
push 0x2c0
push 0
push 0x421ca00
call fcn.004cce10
fld1
mov eax, 1
mov word [0x421ca16], ax
mov eax, dword [0x56895c]
mov word [0x421ca01], 0x101
mov word [0x421ca13], 0x800
mov ecx, dword [esi + eax + 0x1e8]
mov dword [0x421ca1c], ecx
mov edx, dword [esi + eax + 0x1ec]
mov ecx, dword [ebp - 0x191c]
mov dword [0x421ca20], edx
mov eax, dword [esi + eax + 0x1f0]
fstp dword [0x421cb4c]
mov edx, dword [ebp - 0x1918]
fld dword [0x4e4500]
mov dword [0x421ca4c], ecx
fstp dword [0x421cb50]
mov ecx, dword [ebp - 0x1b68]
fld dword [0x4e4c44]
mov dword [0x421ca24], eax
fstp dword [0x421cb54]
mov eax, dword [ebp - 0x1914]
fld dword [0x4e4c40]
mov dword [0x421cc1c], ecx
fstp dword [0x421cb58]
mov ecx, dword [ebp - 0x1b7c]
mov dword [0x421ca50], edx
mov edx, dword [ebp - 0x1b64]
mov dword [0x421ca54], eax
mov eax, dword [ebp - 0x1b60]
mov dword [0x421cc2c], ecx
mov ecx, dword [ebp - 0x1b70]
add esp, 0xc
mov dword [0x421cc20], edx
mov edx, dword [ebp - 0x1b78]
mov dword [0x421cc24], eax
mov eax, dword [ebp - 0x1b74]
mov dword [0x421cc38], ecx
mov ecx, dword [0x41ec420]
push 0x421ca00
mov dword [0x421cb44], 0x14
mov dword [0x421cb48], 0x1e
mov byte [0x421ca12], 1
mov dword [0x421cb5c], ebx
mov dword [0x421cb60], ebx
mov dword [0x421cc28], edi
mov dword [0x421cc30], edx
mov dword [0x421cc34], eax
call fcn.004813c0
dec dword [ebp - 0x1a84]
jne 0x441050
mov edi, dword [ebp - 0x1a88]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0x10
mov dword [ebp - 0x1a8c], edi
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
movzx eax, ax
mov ecx, 0x270f
add esp, 4
mov dword [ebp - 0x1a98], eax
cmp word [0x5f375c], cx
jae 0x44161a
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x44161a
mov edx, dword [0x56895c]
fldz
movzx esi, ax
imul esi, esi, 0x108c
fst dword [esi + edx + 0x30]
mov eax, dword [0x56895c]
fst dword [esi + eax + 0x34]
mov ecx, dword [0x56895c]
fst dword [esi + ecx + 0x38]
mov edx, dword [0x56895c]
fst dword [esi + edx + 0x3c]
mov eax, dword [0x56895c]
mov byte [esi + eax + 0x2d], 0
movzx ecx, byte [ebx + 8]
mov edx, dword [0x5f3440]
imul ecx, ecx, 0xd8
mov al, byte [ecx + edx + 0xa]
test al, 0x40
jbe 0x4413d9
movzx eax, word [ebx + 0xc]
mov ecx, dword [0x56895c]
mov dword [ebp - 0x1a84], eax
mov edi, 0x270f
fild dword [ebp - 0x1a84]
fstp dword [esi + ecx + 0x30]
movzx edx, word [ebx + 0xe]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0x34]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x40]
movzx eax, byte [ebx + 8]
movzx edx, byte [ebx + 9]
imul eax, eax, 0x6c
mov ecx, dword [0x5f3440]
add edx, eax
movzx edx, word [ecx + edx*2 + 0x88]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0x3c]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x30]
fstp dword [ebp - 0x1c20]
mov ecx, dword [ebp - 0x1c20]
fld dword [esi + eax + 0x34]
mov dword [ebp - 0x19a0], ecx
fstp dword [ebp - 0x1c1c]
mov edx, dword [ebp - 0x1c1c]
fld dword [0x4e4820]
lea ecx, [ebp - 0x19a0]
fstp dword [ebp - 0x1c18]
mov eax, dword [ebp - 0x1c18]
push ecx
mov ecx, dword [0x53b1ec]
mov dword [ebp - 0x199c], edx
mov dword [ebp - 0x1998], eax
call fcn.0048d3d0
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
mov edx, dword [0x56895c]
fsubr qword [0x4e5e40]
sub esp, 8
fstp dword [esi + edx + 0x38]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x34]
fsub dword [esi + eax + 0xbc]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fstp dword [esp + 4]
fld dword [esi + eax + 0x30]
fsub dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fstp dword [esp]
call fcn.0047f1a0
mov eax, dword [0x56895c]
fstp dword [esi + eax + 0xd4]
jmp 0x44152c
test al, 2
jbe 0x441457
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
mov edi, 0x270f
fstp dword [esi + eax + 0x30]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xbc]
fstp dword [esi + eax + 0x34]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xc0]
fadd qword [0x4e4620]
fstp dword [esi + eax + 0x38]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x40]
movzx eax, byte [ebx + 8]
movzx edx, byte [ebx + 9]
imul eax, eax, 0x6c
mov ecx, dword [0x5f3440]
add edx, eax
movzx edx, word [ecx + edx*2 + 0x88]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0x3c]
jmp 0x44152f
mov al, byte [ebx + 0xa]
cmp al, 5
jne 0x441484
mov ecx, dword [0x56895c]
movzx edi, word [ebp - 0x1a98]
fstp dword [esi + ecx + 0x40]
fld dword [0x4e45ec]
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0x3c]
jmp 0x44152f
fstp st(0)
cmp al, 3
je 0x441498
cmp al, 2
je 0x441498
mov edi, 0x270f
jmp 0x44152f
movzx eax, word [ebx + 6]
push eax
call fcn.00406270
mov ecx, dword [0x56895c]
fldz
movzx edi, ax
fstp dword [esi + ecx + 0x40]
fld dword [0x4e45ec]
mov edx, dword [0x56895c]
mov eax, 0x270f
add esp, 4
fstp dword [esi + edx + 0x3c]
cmp di, ax
jae 0x44152f
mov eax, dword [0x56895c]
movzx ecx, di
imul ecx, ecx, 0x108c
sub esp, 8
fld dword [ecx + eax + 0xbc]
fsub dword [esi + eax + 0xbc]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fstp dword [esp + 4]
fld dword [ecx + eax + 0xb8]
fsub dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fstp dword [esp]
call fcn.0047f1a0
mov edx, dword [0x56895c]
fstp dword [esi + edx + 0xd4]
add esp, 8
mov ax, word [ebx + 0x10]
cmp ax, word [ebx + 0x12]
jae 0x44161a
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x441559
fadd dword [0x4e4558]
mov ecx, dword [0x56895c]
fstp dword [esi + ecx + 0x44]
mov eax, dword [0x56895c]
fld dword [esi + eax + 0x44]
fstp dword [esi + eax + 0x48]
movzx edx, word [ebx + 0x10]
mov eax, dword [0x56895c]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
fstp dword [esi + eax + 0x28]
movzx ecx, word [ebx + 0x12]
mov edx, dword [0x56895c]
mov dword [ebp - 0x1a84], ecx
mov ecx, 0x270f
fild dword [ebp - 0x1a84]
fstp dword [esi + edx + 0x24]
mov eax, dword [0x56895c]
mov byte [esi + eax + 0x2c], 0
cmp di, cx
jae 0x4415c4
mov edx, dword [0x56895c]
mov word [esi + edx + 0x2e], di
jmp 0x4415d1
mov ecx, dword [0x56895c]
xor eax, eax
mov word [esi + ecx + 0x2e], ax
mov ecx, dword [0x5e90d8]
test ecx, ecx
je 0x4415e6
push 0
push 1
push 3
call fcn.00488d70
movzx edx, byte [ebx + 8]
mov eax, dword [0x56895c]
mov word [esi + eax + 0x22], dx
mov esi, dword [ebp - 0x1a98]
movzx eax, si
push eax
call fcn.00401a70
add esp, 4
cmp si, word [0x5f375c]
jne 0x44161a
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x568960], eax
mov edi, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
cmp edi, esi
ja 0x447ef1
movzx ecx, word [ebx + 4]
push ecx
call fcn.00406270
mov edx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], dx
jae 0x4416d9
lea ecx, [eax - 1]
mov edx, 0x270d
cmp cx, dx
ja 0x4416d9
mov edx, dword [0x56895c]
fldz
movzx ecx, ax
mov eax, ecx
imul eax, eax, 0x108c
fst dword [eax + edx + 0x28]
mov edx, dword [0x56895c]
fstp dword [eax + edx + 0x24]
mov edx, dword [0x56895c]
mov byte [eax + edx + 0x2c], 0
mov esi, dword [0x56895c]
mov edx, 0x270f
mov word [eax + esi + 0x2e], dx
mov edx, dword [0x56895c]
mov al, byte [eax + edx + 0xf]
cmp al, 0x12
je 0x4416ce
cmp al, 0x13
je 0x4416ce
cmp al, 0x14
je 0x4416ce
cmp al, 0x15
je 0x4416ce
cmp al, 0x1c
jne 0x4416d9
push 0
push ecx
call fcn.004013d0
add esp, 8
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 6
mov dword [ebp - 0x1a84], edi
cmp edi, esi
ja 0x447ef1
movzx eax, word [ebx + 4]
push eax
call fcn.00406270
movzx eax, ax
mov ecx, 0x270f
add esp, 4
mov dword [ebp - 0x1a98], eax
cmp word [0x5f375c], cx
jae 0x441970
dec eax
mov edx, 0x270d
cmp ax, dx
ja 0x441970
movzx ecx, word [ebp - 0x1a98]
movzx eax, byte [ebx + 6]
mov edx, dword [0x56895c]
mov esi, ecx
imul esi, esi, 0x108c
mov dword [esi + edx + 0x238], eax
mov edx, dword [0x56895c]
xor eax, eax
mov dword [esi + edx + 0x23c], eax
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x24c], eax
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x240], eax
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x250], eax
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x244], eax
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x254], eax
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x248], eax
mov edx, dword [0x56895c]
mov dword [esi + edx + 0x258], eax
mov edi, dword [0x56895c]
cmp dword [esi + edi + 0x238], 8
jne 0x441842
cmp byte [esi + edi + 5], 3
jne 0x441842
mov eax, 0xa6
cmp word [esi + edi + 0x18], ax
jne 0x4417fd
push 0x16
push ecx
call fcn.004013d0
mov edi, dword [0x56895c]
add esp, 8
movzx edx, word [0x5f375c]
imul edx, edx, 0x108c
push 5
lea ecx, [esi + edi + 0x94]
push ecx
lea eax, [edx + edi + 0x94]
push eax
call fcn.004ccfca
add esp, 0xc
test eax, eax
jne 0x44183c
mov ecx, dword [0x41ec240]
test ecx, ecx
je 0x44183c
push str.ac18_hosuto
call fcn.0046d280
mov edi, dword [0x56895c]
mov eax, dword [esi + edi + 0x238]
cmp eax, 7
je 0x441867
cmp eax, 0xa
je 0x441867
cmp eax, 0x11
je 0x441867
cmp eax, 0x12
je 0x441867
cmp eax, 0x13
je 0x441867
cmp eax, 0x14
jne 0x441872
mov byte [esi + edi + 0x1e], 0
mov edi, dword [0x56895c]
movzx eax, word [ebx + 8]
mov ecx, 0x270f
cmp ax, cx
je 0x441970
push eax
call fcn.00406270
movzx eax, ax
lea edx, [eax - 1]
mov ecx, 0x270d
add esp, 4
cmp dx, cx
ja 0x441970
mov dx, word [0x5f375c]
cmp ax, dx
jne 0x441909
cmp dword [0x6a437c], 0
jne 0x441909
mov ecx, dword [ebp - 0x1a98]
cmp cx, dx
je 0x44190f
movzx eax, word [ebx + 6]
mov ecx, dword [eax*4 + 0x5ed930]
add ecx, dword [0x1a3ba10]
lea edx, [esi + edi + 0x94]
push edx
push ecx
lea edx, [ebp - 0x1204]
push edx
call fcn.004cce8a
lea eax, [ebp - 0x1204]
push 7
push eax
call fcn.0040d780
mov edi, dword [ebp - 0x1a84]
add esp, 0x14
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov ecx, dword [ebp - 0x1a98]
movzx edx, dx
imul edx, edx, 0x108c
cmp cx, word [edx + edi + 0x20]
jne 0x441970
cmp cx, word [0x5f375c]
je 0x441970
movzx eax, ax
imul eax, eax, 0x108c
lea ecx, [eax + edi + 0x94]
movzx eax, word [ebx + 6]
push ecx
mov ecx, dword [eax*4 + 0x5ed9d0]
add ecx, dword [0x1a3ba10]
lea edx, [esi + edi + 0x94]
push edx
push ecx
lea edx, [ebp - 0x1004]
push edx
call fcn.004cce8a
lea eax, [ebp - 0x1004]
push 7
push eax
call fcn.0040d780
add esp, 0x18
mov edi, dword [ebp - 0x1a84]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
mov dword [ebp - 0x1a88], edi
cmp edi, esi
ja 0x447ef1
movzx ecx, word [ebx + 4]
push ecx
call fcn.00406270
movzx edx, word [ebx + 6]
movzx edi, ax
push edx
mov dword [ebp - 0x1a98], edi
call fcn.00406270
movzx esi, ax
mov eax, 0x270f
add esp, 8
cmp word [0x5f375c], ax
jae 0x441e0a
lea ecx, [edi - 1]
mov edx, 0x270d
cmp cx, dx
ja 0x441e0a
lea eax, [esi - 1]
mov ecx, edx
cmp ax, cx
ja 0x441e0a
movzx eax, word [ebx + 8]
test ax, ax
je 0x441a07
cmp eax, 1
jne 0x441a5b
mov ecx, dword [0x56895c]
fldz
movzx edx, di
mov eax, edx
imul eax, eax, 0x108c
push edx
fstp dword [eax + ecx + 0x158]
mov edi, dword [0x56895c]
movzx ecx, si
imul ecx, ecx, 0x108c
fld dword [ecx + edi + 0xb8]
fstp dword [eax + edi + 0xd8]
mov edi, dword [0x56895c]
fld dword [ecx + edi + 0xbc]
fstp dword [eax + edi + 0xdc]
call fcn.00401930
add esp, 4
mov eax, dword [0x56895c]
movzx edi, si
movzx esi, word [ebp - 0x1a98]
mov dword [ebp - 0x1a8c], edi
imul edi, edi, 0x108c
mov dword [ebp - 0x1a90], esi
imul esi, esi, 0x108c
fld dword [edi + eax + 0xbc]
sub esp, 8
fsub dword [esi + eax + 0xbc]
mov dword [ebp - 0x1a84], edi
fstp dword [ebp - 0x1a94]
fld dword [ebp - 0x1a94]
fstp dword [esp + 4]
fld dword [edi + eax + 0xb8]
fsub dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1a94]
fld dword [ebp - 0x1a94]
fstp dword [esp]
call fcn.0047f1a0
mov edx, dword [0x56895c]
mov ax, word [ebp - 0x1a98]
fstp dword [esi + edx + 0xd4]
add esp, 8
cmp ax, word [0x5f375c]
jne 0x441af6
mov ecx, dword [0x56895c]
mov byte [edi + ecx + 0x10], 1
mov edx, dword [ebp - 0x1a90]
push edx
call fcn.00401e70
mov dword [ebp - 0x1a94], eax
fild dword [ebp - 0x1a94]
add esp, 4
cmp word [ebx + 8], 2
fstp dword [ebp - 0x1a94]
jne 0x441b30
fld dword [ebp - 0x1a94]
fadd qword [0x4e4690]
fstp dword [ebp - 0x1a94]
mov ecx, dword [ebp - 0x1a8c]
fld dword [ebp - 0x1a94]
xor eax, eax
imul ecx, ecx, 0x161
mov dword [ebp - 0x1a8c], ecx
mov edx, dword [0x56895c]
movzx edi, ax
add edi, dword [ebp - 0x1a8c]
lea ecx, [edi + edi*2 + 0x3e4]
cmp dword [edx + ecx*4], 0
lea ecx, [edx + ecx*4]
mov dword [ebp - 0x1a94], ecx
jne 0x441c26
fld st(0)
call fcn.004ccd60
mov ecx, dword [ebp - 0x1a94]
mov dword [ecx], eax
mov edx, dword [0x56895c]
mov cx, word [ebp - 0x1a98]
lea eax, [edi + edi*2]
add eax, eax
add eax, eax
mov word [eax + edx + 0xf94], cx
movzx edx, byte [ebx + 8]
mov ecx, dword [0x56895c]
mov byte [eax + ecx + 0xf96], dl
movzx edx, byte [ebx + 0xa]
mov ecx, dword [0x56895c]
mov byte [eax + ecx + 0xf97], dl
movzx edx, word [ebx + 0xe]
mov ecx, dword [0x56895c]
mov word [eax + ecx + 0xf9a], dx
movzx edx, word [ebx + 0xc]
mov ecx, dword [0x56895c]
mov word [eax + ecx + 0xf98], dx
mov edx, dword [0x56895c]
movzx ecx, word [ebx + 0xe]
mov eax, dword [ebp - 0x1a84]
mov eax, dword [eax + edx + 0x1c8]
cmp eax, ecx
jbe 0x441c10
sub eax, ecx
mov ecx, dword [ebp - 0x1a84]
mov dword [ecx + edx + 0x1c8], eax
jmp 0x441c21
mov eax, dword [ebp - 0x1a84]
mov dword [eax + edx + 0x1c8], 0
mov eax, 0x14
inc eax
cmp ax, 0x14
jb 0x441b4a
mov eax, dword [0x56895c]
fstp st(0)
cmp byte [esi + eax + 5], 1
jne 0x441e0a
cmp dword [0x526960], 0
je 0x441e0a
cmp dword [0x526824], 0
je 0x441e0a
cmp dword [0x5e90d8], 0
je 0x441e0a
mov al, byte [esi + eax + 0x1085]
test al, al
jne 0x441cb4
mov edx, dword [0x56895c]
lea ecx, [ebp - 0x1910]
push ecx
lea eax, [esi + edx + 0x1dc]
push eax
call fcn.0040d4b0
add esp, 8
lea ecx, [ebp - 0x1910]
push ecx
mov edx, ecx
mov ecx, dword [0x5e90d8]
push edx
push 7
call fcn.00488ed0
push 0
push 1
push 7
jmp 0x441d31
cmp al, 1
jne 0x441cf4
mov ecx, dword [0x56895c]
lea eax, [ebp - 0x1910]
push eax
lea edx, [esi + ecx + 0x1dc]
push edx
call fcn.0040d4b0
add esp, 8
lea eax, [ebp - 0x1910]
push eax
mov ecx, eax
push ecx
mov ecx, dword [0x5e90d8]
push 9
call fcn.00488ed0
push 0
push 1
push 9
jmp 0x441d31
cmp al, 2
jne 0x441d3c
mov eax, dword [0x56895c]
lea edx, [ebp - 0x1910]
push edx
lea ecx, [esi + eax + 0x1dc]
push ecx
call fcn.0040d4b0
mov ecx, dword [0x5e90d8]
add esp, 8
lea edx, [ebp - 0x1910]
push edx
mov eax, edx
push eax
push 8
call fcn.00488ed0
push 0
push 1
push 8
mov ecx, dword [0x5e90d8]
call fcn.00488d70
mov ecx, dword [0x56895c]
mov al, byte [esi + ecx + 0x1085]
cmp al, 3
jne 0x441d85
lea edx, [ebp - 0x1910]
mov eax, ecx
push edx
lea ecx, [esi + eax + 0x1dc]
push ecx
call fcn.0040d4b0
mov ecx, dword [0x5e90d8]
add esp, 8
lea edx, [ebp - 0x1910]
push edx
mov eax, edx
push eax
push 0xa
call fcn.00488ed0
push 0
push 1
push 0xa
jmp 0x441dff
cmp al, 4
jne 0x441dc5
mov edx, dword [0x56895c]
lea ecx, [ebp - 0x1910]
push ecx
lea eax, [esi + edx + 0x1dc]
push eax
call fcn.0040d4b0
add esp, 8
lea ecx, [ebp - 0x1910]
push ecx
mov edx, ecx
mov ecx, dword [0x5e90d8]
push edx
push 0xb
call fcn.00488ed0
push 0
push 1
push 0xb
jmp 0x441dff
mov ecx, dword [0x56895c]
lea eax, [ebp - 0x1910]
push eax
lea edx, [esi + ecx + 0x1dc]
push edx
call fcn.0040d4b0
add esp, 8
lea eax, [ebp - 0x1910]
push eax
mov ecx, eax
push ecx
mov ecx, dword [0x5e90d8]
push 7
call fcn.00488ed0
push 0
push 1
push 7
mov ecx, dword [0x5e90d8]
call fcn.00488d70
mov edi, dword [ebp - 0x1a88]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [ebx + 4]
cmp eax, 0x800
ja 0x447ef1
lea edx, [edi + eax*4 + 4]
cmp edx, esi
ja 0x447ef1
mov ecx, 0x270f
cmp word [0x5f375c], cx
jae 0x441f88
mov dword [ebp - 0x1a90], 0
test eax, eax
je 0x441f88
xor esi, esi
mov edi, edi
movzx edx, word [ebx + esi*4 + 8]
push edx
call fcn.00406270
movzx eax, ax
add esp, 4
cmp ax, word [0x5f375c]
jne 0x441e93
xor ecx, ecx
mov word [0x41eb888], cx
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x441f6f
cmp word [ebx + esi*4 + 0xa], 0xb
lea ecx, [ebx + esi*4 + 0xa]
mov dword [ebp - 0x1a84], ecx
jne 0x441ec9
movzx edx, ax
push 0xb
push edx
call fcn.004013d0
add esp, 8
jmp 0x441f6f
movzx esi, ax
mov eax, dword [ebp - 0x1a84]
movzx ecx, byte [eax]
push ecx
push esi
call fcn.00401650
mov edx, dword [ebp - 0x1a84]
add esp, 8
cmp word [edx], 0x19
jne 0x441f6f
push 5
push 0xa
push esi
call fcn.00435ee0
add esp, 0xc
cmp dword [0x5e90d8], 0
je 0x441f52
mov edx, dword [0x56895c]
mov ecx, esi
imul ecx, ecx, 0x108c
lea eax, [ebp - 0x19e8]
push eax
lea eax, [ecx + edx + 0x1dc]
push eax
call fcn.0040d4b0
add esp, 8
lea ecx, [ebp - 0x19e8]
push ecx
mov edx, ecx
mov ecx, dword [0x5e90d8]
push edx
push 0x22
call fcn.00488ed0
mov ecx, dword [0x5e90d8]
push 0
push 1
push 0x22
call fcn.00488d70
mov eax, dword [0x56895c]
imul esi, esi, 0x108c
lea esi, [esi + eax + 0x1e]
mov al, byte [esi]
cmp al, 0x3c
jb 0x441f6f
cmp al, 0x50
jae 0x441f6f
add al, 0xa
mov byte [esi], al
mov eax, dword [ebp - 0x1a90]
inc eax
movzx esi, ax
mov dword [ebp - 0x1a90], eax
cmp esi, dword [ebx + 4]
jb 0x441e70
mov ecx, dword [ebx + 4]
lea edi, [edi + ecx*4 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x441ff9
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x441ff9
mov cl, byte [ebx + 6]
mov esi, dword [0x56895c]
movzx edx, ax
imul edx, edx, 0x108c
mov byte [edx + esi + 6], cl
mov ecx, dword [0x41ec240]
cmp ax, word [0x5f375c]
jne 0x44203d
movzx eax, word [ebx + 6]
cmp eax, 1
jne 0x44202a
test ecx, ecx
je 0x44203d
push str.ac9_blue
call fcn.0046d280
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp eax, 2
jne 0x44203d
test ecx, ecx
je 0x44203d
push 0x4e5e1c
call fcn.0046d280
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x4420cf
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x4420cf
mov cl, byte [ebx + 6]
test cl, cl
je 0x4420b0
cmp cl, 0xc8
ja 0x4420b0
mov esi, dword [0x56895c]
movzx edx, ax
imul edx, edx, 0x108c
mov byte [edx + esi + 0xb], cl
mov bl, byte [ebx + 7]
test bl, bl
je 0x4420cf
cmp bl, 0x28
ja 0x4420cf
mov ecx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov byte [eax + ecx + 0xa], bl
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(0)
jne 0x447f51
add edi, 4
cmp edi, esi
ja 0x447f51
mov ax, word [0x5f375c]
mov edx, 0x270f
cmp ax, dx
jae 0x4421a1
mov ebx, dword [ebx + 4]
cmp ebx, 0x2faf080
jae 0x4421a1
mov ecx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov dword [eax + ecx + 0x50], ebx
movzx ecx, word [0x5f375c]
imul ecx, ecx, 0x108c
add ecx, dword [0x56895c]
mov eax, dword [ecx + 0x50]
test eax, eax
je 0x44218e
mov ecx, dword [ecx + 0x54]
test ecx, ecx
je 0x44218e
mov dword [ebp - 0x1a84], eax
fstp st(0)
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x442163
fadd dword [0x4e4558]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
test ecx, ecx
jns 0x442179
fadd dword [0x4e4558]
fdivp st(1)
mov dword [ebp - 0x1a88], edi
fmulp st(1)
fstp dword [0x6a4148]
jmp 0x43c78f
fstp st(1)
mov dword [ebp - 0x1a88], edi
fstp dword [0x6a4148]
jmp 0x43c78f
fstp st(1)
mov dword [ebp - 0x1a88], edi
fstp st(0)
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(0)
jne 0x447f51
add edi, 4
cmp edi, esi
ja 0x447f51
mov ax, word [0x5f375c]
mov ecx, 0x270f
cmp ax, cx
jae 0x4421a1
mov ebx, dword [ebx + 4]
cmp ebx, 0x2faf080
jae 0x4421a1
movzx edx, ax
mov eax, dword [0x56895c]
imul edx, edx, 0x108c
mov dword [edx + eax + 0x54], ebx
movzx ecx, word [0x5f375c]
mov edx, dword [0x56895c]
imul ecx, ecx, 0x108c
mov eax, dword [ecx + edx + 0x50]
test eax, eax
je 0x442243
mov ecx, dword [ecx + edx + 0x54]
test ecx, ecx
je 0x442243
mov dword [ebp - 0x1a84], eax
fstp st(0)
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x442232
fadd dword [0x4e4558]
mov dword [ebp - 0x1a84], ecx
fild dword [ebp - 0x1a84]
jmp 0x44216f
fstp st(1)
mov dword [ebp - 0x1a88], edi
fstp dword [0x6a4148]
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
cmp edi, esi
ja 0x447ef1
mov eax, 0x270f
cmp word [0x5f375c], ax
jae 0x442293
mov ebx, dword [ebx + 4]
cmp ebx, 0x5f5e0ff
ja 0x442293
mov dword [0x6a31fc], ebx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov eax, dword [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x800
ja 0x447ef1
lea ecx, [edi + eax*8 + 4]
cmp ecx, esi
ja 0x447ef1
mov edx, 0x270f
cmp word [0x5f375c], dx
jae 0x442441
mov dword [ebp - 0x1a90], 0
test eax, eax
je 0x442441
mov dword [ebp - 0x1a84], 0
lea esp, [esp]
mov eax, dword [ebp - 0x1a84]
movzx ecx, word [ebx + eax*8 + 8]
push ecx
call fcn.00406270
movzx eax, ax
mov dword [ebp - 0x1a98], eax
dec eax
mov edx, 0x270d
add esp, 4
cmp ax, dx
ja 0x442422
movzx edi, word [ebp - 0x1a98]
mov eax, dword [0x56895c]
mov edx, dword [ebp - 0x1a84]
mov esi, edi
imul esi, esi, 0x108c
mov ecx, dword [esi + eax + 0x234]
mov dword [ebp - 0x1a8c], ecx
mov ecx, dword [ebx + edx*8 + 0xc]
mov dword [esi + eax + 0x234], ecx
mov eax, dword [0x56895c]
cmp byte [esi + eax + 5], 1
jne 0x442422
test dword [esi + eax + 0x234], 0x40000
jbe 0x44239a
push 6
push edi
call fcn.004013d0
push 2
push 5
push edi
call fcn.00435ee0
mov edx, dword [0x56895c]
mov al, byte [esi + edx + 0x1e]
add esp, 0x14
cmp al, 0x28
jb 0x44239a
cmp al, 0x3c
jae 0x44239a
add al, 5
mov ecx, edx
mov byte [esi + ecx + 0x1e], al
mov eax, dword [0x56895c]
test dword [esi + eax + 0x234], 0x1000000
je 0x4423b6
mov byte [esi + eax + 3], 0
mov eax, dword [0x56895c]
mov ecx, dword [ebp - 0x1a8c]
and ecx, 0x40000000
jne 0x4423e1
test dword [esi + eax + 0x234], 0x40000000
je 0x4423e1
mov byte [esi + eax + 3], 1
mov edx, dword [0x56895c]
mov byte [esi + edx + 0xf], 4
test ecx, ecx
je 0x442422
mov eax, dword [0x56895c]
test dword [esi + eax + 0x234], 0x40000000
jne 0x442422
mov dx, word [ebp - 0x1a98]
mov ecx, eax
mov byte [esi + ecx + 3], 0
cmp dx, word [0x5f375c]
jne 0x442422
push 0x36
call fcn.00470960
add esp, 4
mov dword [0x1a3c808], 0
mov eax, dword [ebp - 0x1a90]
inc eax
mov dword [ebp - 0x1a90], eax
movzx eax, ax
mov dword [ebp - 0x1a84], eax
cmp eax, dword [ebx + 4]
jb 0x4422f0
mov ecx, dword [ebp - 0x1a88]
mov eax, dword [ebx + 4]
lea edx, [ecx + eax*8 + 4]
mov dword [ebp - 0x1a88], edx
mov edi, edx
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [ebx + 4]
cmp eax, 0x800
ja 0x447ef1
lea ecx, [edi + eax*8 + 4]
cmp ecx, esi
ja 0x447ef1
mov edx, 0x270f
cmp word [0x5f375c], dx
jae 0x442596
mov dword [ebp - 0x1a90], 0
test eax, eax
je 0x442596
xor esi, esi
mov edi, edi
movzx eax, word [ebx + esi*8 + 8]
push eax
call fcn.00406270
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
mov dword [ebp - 0x1a98], eax
cmp cx, dx
ja 0x44257d
movzx ecx, word [ebx + esi*8 + 0xa]
mov edx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov dword [eax + edx + 0x1c8], ecx
movzx ecx, word [ebx + esi*8 + 0xc]
mov edx, dword [0x56895c]
mov dword [eax + edx + 0x1cc], ecx
mov ecx, dword [0x56895c]
mov esi, dword [eax + ecx + 0x1cc]
cmp dword [eax + ecx + 0x1c8], esi
lea edx, [eax + ecx + 0x1c8]
jbe 0x44252a
mov dword [edx], esi
mov ecx, dword [0x56895c]
mov dx, word [ebp - 0x1a98]
cmp dx, word [0x5f375c]
jne 0x44257d
mov edx, dword [eax + ecx + 0x1c8]
fild dword [eax + ecx + 0x1c8]
test edx, edx
jns 0x442552
fadd dword [0x4e4558]
mov eax, dword [eax + ecx + 0x1cc]
mov dword [ebp - 0x1a84], eax
fild dword [ebp - 0x1a84]
test eax, eax
jns 0x44256f
fadd dword [0x4e4558]
fdivp st(1)
fmul qword [0x4e5d08]
fstp dword [0x6a30b4]
mov eax, dword [ebp - 0x1a90]
inc eax
movzx esi, ax
mov dword [ebp - 0x1a90], eax
cmp esi, dword [ebx + 4]
jb 0x4424b0
mov ecx, dword [ebx + 4]
lea edi, [edi + ecx*8 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [ebx + 4]
cmp eax, 0x800
ja 0x447ef1
lea edx, [edi + eax*8 + 4]
cmp edx, esi
ja 0x447ef1
mov ecx, 0x270f
cmp word [0x5f375c], cx
jae 0x4426dc
mov dword [ebp - 0x1a90], 0
test eax, eax
je 0x4426dc
xor esi, esi
jmp 0x442600
movzx edx, word [ebx + esi*8 + 8]
push edx
call fcn.00406270
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
mov dword [ebp - 0x1a98], eax
cmp cx, dx
ja 0x4426c3
movzx ecx, word [ebx + esi*8 + 0xa]
mov edx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov word [eax + edx + 0x1d0], cx
movzx ecx, word [ebx + esi*8 + 0xc]
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d2], cx
mov ecx, dword [0x56895c]
movzx esi, word [eax + ecx + 0x1d2]
cmp word [eax + ecx + 0x1d0], si
lea edx, [eax + ecx + 0x1d0]
jbe 0x44267f
mov word [edx], si
mov ecx, dword [0x56895c]
mov dx, word [ebp - 0x1a98]
cmp dx, word [0x5f375c]
jne 0x4426c3
movzx edx, word [eax + ecx + 0x1d0]
movzx eax, word [eax + ecx + 0x1d2]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
mov dword [ebp - 0x1a84], eax
fidiv dword [ebp - 0x1a84]
fmul qword [0x4e5d08]
fstp dword [0x6444a4]
mov eax, dword [ebp - 0x1a90]
inc eax
movzx esi, ax
mov dword [ebp - 0x1a90], eax
cmp esi, dword [ebx + 4]
jb 0x442600
mov ecx, dword [ebx + 4]
lea edi, [edi + ecx*8 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [ebx + 4]
cmp eax, 0x800
ja 0x447ef1
lea edx, [edi + eax*8 + 4]
cmp edx, esi
ja 0x447ef1
mov ecx, 0x270f
cmp word [0x5f375c], cx
jae 0x44281d
mov dword [ebp - 0x1a90], 0
test eax, eax
je 0x44281d
xor esi, esi
movzx edx, word [ebx + esi*8 + 8]
push edx
call fcn.00406270
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
mov dword [ebp - 0x1a98], eax
cmp cx, dx
ja 0x442804
movzx ecx, word [ebx + esi*8 + 0xa]
mov edx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov word [eax + edx + 0x1d4], cx
movzx ecx, word [ebx + esi*8 + 0xc]
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d6], cx
mov ecx, dword [0x56895c]
movzx esi, word [eax + ecx + 0x1d6]
cmp word [eax + ecx + 0x1d4], si
lea edx, [eax + ecx + 0x1d4]
jbe 0x4427c0
mov word [edx], si
mov ecx, dword [0x56895c]
mov dx, word [ebp - 0x1a98]
cmp dx, word [0x5f375c]
jne 0x442804
movzx edx, word [eax + ecx + 0x1d4]
movzx eax, word [eax + ecx + 0x1d6]
mov dword [ebp - 0x1a84], edx
fild dword [ebp - 0x1a84]
mov dword [ebp - 0x1a84], eax
fidiv dword [ebp - 0x1a84]
fmul qword [0x4e5d08]
fstp dword [0x1a3c800]
mov eax, dword [ebp - 0x1a90]
inc eax
movzx esi, ax
mov dword [ebp - 0x1a90], eax
cmp esi, dword [ebx + 4]
jb 0x442741
mov ecx, dword [ebx + 4]
lea edi, [edi + ecx*8 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 8
cmp edi, esi
ja 0x447ef1
movzx edx, byte [ebx + 4]
mov dword [0x5659b8], edx
movzx eax, byte [ebx + 5]
mov dword [0x631d54], eax
movzx ecx, byte [ebx + 6]
mov dword [0x5ea9dc], ecx
movzx edx, byte [ebx + 7]
mov dword [0x568958], edx
movzx eax, byte [ebx + 8]
mov dword [0x5e9f5c], eax
movzx ecx, byte [ebx + 9]
mov dword [0x6a4158], ecx
movzx edx, byte [ebx + 0xa]
mov dword [0x6a44dc], edx
movzx eax, byte [ebx + 0xb]
mov dword [0x633874], eax
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 6
cmp edi, esi
ja 0x447ef1
movzx ecx, word [ebx + 4]
mov dword [0x5f0630], ecx
movzx edx, word [ebx + 6]
mov dword [0x41ebcf8], edx
movzx eax, word [ebx + 8]
mov dword [0x6a30d0], eax
call fcn.0040c740
mov ecx, dword [0x1a81dc4]
mov eax, dword [ecx*4 + 0x1a82f50]
mov dword [ebp - 0x1a84], eax
cmp eax, 8
jle 0x44291b
fild dword [ebp - 0x1a84]
add eax, 0xfffffff8
mov dword [0x6a5888], eax
xor eax, eax
fsub qword [0x4e5e68]
fidiv dword [0x6a5880]
jmp 0x442924
fldz
xor eax, eax
mov dword [0x6a5888], eax
fstp dword [0x6a588c]
mov dword [0x6a5884], eax
mov dword [0x6a587c], eax
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0x10
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x4429ae
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x4429ae
mov ecx, dword [ebx + 8]
movzx edx, ax
mov eax, dword [0x56895c]
imul edx, edx, 0x108c
lea eax, [edx + eax + 0x94]
mov dword [eax], ecx
mov edx, dword [ebx + 0xc]
mov dword [eax + 4], edx
mov ecx, dword [ebx + 0x10]
mov dword [eax + 8], ecx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0x20
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x442adc
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x442adc
mov edx, dword [0x56895c]
xor ecx, ecx
movzx eax, ax
imul eax, eax, 0x108c
mov dword [eax + edx + 0xa0], ecx
mov dword [eax + edx + 0xa4], ecx
mov dword [eax + edx + 0xa8], ecx
lea edx, [eax + edx + 0xa0]
mov edx, dword [0x56895c]
mov dword [eax + edx + 0xac], ecx
mov dword [eax + edx + 0xb0], ecx
mov dword [eax + edx + 0xb4], ecx
mov cl, byte [ebx + 0x20]
lea edx, [eax + edx + 0xac]
mov edx, dword [0x56895c]
mov byte [eax + edx + 0xc], cl
movzx ecx, byte [ebx + 0x20]
mov ecx, dword [ecx*4 + 0x5ece30]
add ecx, dword [0x1a3ba10]
mov edx, dword [0x56895c]
mov esi, dword [ecx]
mov dword [eax + edx + 0xa0], esi
mov esi, dword [ecx + 4]
lea edx, [eax + edx + 0xa0]
mov dword [edx + 4], esi
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
movzx edx, byte [ebx + 0x21]
xor ecx, ecx
cmp byte [ebx + 0x22], 0x1e
setne cl
dec ecx
and ecx, 0xa
add ecx, 0x4fd
add ecx, edx
mov ecx, dword [ecx*4 + 0x5ec120]
add ecx, dword [0x1a3ba10]
mov edx, dword [0x56895c]
lea eax, [eax + edx + 0xac]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0x2c
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
movzx edx, ax
mov eax, 0x270f
add esp, 4
cmp word [0x5f375c], ax
jae 0x442c4e
lea ecx, [edx - 1]
mov eax, 0x270d
cmp cx, ax
ja 0x442c4e
mov ecx, dword [ebx + 8]
mov esi, dword [0x56895c]
movzx eax, dx
imul eax, eax, 0x108c
mov dword [eax + esi + 0x58], ecx
mov ecx, dword [0x56895c]
add ecx, eax
cmp dword [ecx + 0x58], 0
jne 0x442bbc
fld1
xor edx, edx
mov dword [ecx + 0x5c], edx
mov dword [ecx + 0x60], edx
mov dword [ecx + 0x64], edx
mov dword [ecx + 0x68], edx
mov dword [ecx + 0x6c], edx
mov dword [ecx + 0x70], edx
mov edx, dword [0x56895c]
mov byte [eax + edx + 0x12], 0
mov ecx, dword [0x56895c]
fst dword [eax + ecx + 0xf80]
mov edx, dword [0x56895c]
fst dword [eax + edx + 0xf84]
mov ecx, dword [0x56895c]
fst dword [eax + ecx + 0xf88]
mov edx, dword [0x56895c]
fstp dword [eax + edx + 0xf8c]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov esi, dword [ebx + 0x18]
mov dword [ecx + 0x5c], esi
mov esi, dword [ebx + 0x1c]
mov dword [ecx + 0x60], esi
mov esi, dword [ebx + 0x20]
mov dword [ecx + 0x64], esi
mov esi, dword [ebx + 0x24]
mov dword [ecx + 0x68], esi
mov esi, dword [ebx + 0x28]
mov dword [ecx + 0x6c], esi
mov esi, dword [ebx + 0x2c]
mov dword [ecx + 0x70], esi
mov cx, word [ebx + 4]
cmp cx, word [0x6a307c]
jne 0x442c23
mov ecx, dword [ebx + 0x18]
mov dword [0x1a3bbb8], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [0x1a3bbbc], ecx
mov ecx, dword [ebx + 0x20]
mov dword [0x1a3bbc0], ecx
mov ecx, dword [ebx + 0x24]
mov dword [0x1a3bbc4], ecx
mov ecx, dword [ebx + 0x28]
mov dword [0x1a3bbc8], ecx
mov ecx, dword [ebx + 0x2c]
mov dword [0x1a3bbcc], ecx
cmp word [ebx + 6], 0
je 0x442c4e
mov ecx, dword [0x56895c]
mov byte [eax + ecx + 0x12], 1
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
mov eax, dword [ebx + 0x14]
push ecx
mov ecx, dword [ebx + 0x10]
push eax
push ecx
push edx
call fcn.00405a30
add esp, 0x14
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 0x20
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
movzx ecx, ax
mov eax, 0x270f
add esp, 4
cmp word [0x5f375c], ax
jae 0x442cfc
lea edx, [ecx - 1]
mov eax, 0x270d
cmp dx, ax
ja 0x442cfc
mov edx, dword [ebx + 8]
mov esi, dword [0x56895c]
movzx eax, cx
imul eax, eax, 0x108c
mov dword [eax + esi + 0x74], edx
mov edx, dword [0x56895c]
lea eax, [eax + edx + 0x78]
mov edx, dword [ebx + 0xc]
mov dword [eax], edx
mov edx, dword [ebx + 0x10]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0x14]
mov dword [eax + 8], edx
mov edx, dword [ebx + 0x18]
mov dword [eax + 0xc], edx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 0x10], edx
mov edx, dword [ebx + 0x20]
mov dword [eax + 0x14], edx
cmp cx, word [0x5f375c]
jne 0x442cfc
mov ecx, dword [0x5e9f48]
call fcn.00489db0
mov ecx, dword [0x5e9f48]
push 0x643e08
call fcn.0048a180
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 4
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx eax, word [ebx + 4]
push eax
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x442d7b
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x442d7b
movzx edx, word [ebx + 6]
mov dword [ebp - 0x1a84], edx
mov ecx, dword [0x56895c]
movzx eax, ax
fild dword [ebp - 0x1a84]
imul eax, eax, 0x108c
fdiv qword [0x4e5d08]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fstp dword [eax + ecx + 0x15c]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 0x10
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx eax, word [0x5f375c]
movzx edx, word [ebx + 4]
imul eax, eax, 0x108c
mov ecx, dword [0x56895c]
mov dword [eax + ecx + 0x1d8], edx
movzx edx, word [ebx + 6]
mov dword [0x1a38da4], edx
movzx eax, word [ebx + 8]
mov dword [0x41ebdf0], eax
movzx ecx, word [ebx + 0xc]
mov dword [0x1a38324], ecx
movzx edx, word [ebx + 0xe]
mov dword [0x5e8e20], edx
movzx eax, byte [ebx + 0x10]
mov dword [0x632100], eax
movzx ecx, byte [ebx + 0x11]
movzx eax, word [0x5f375c]
mov dword [0x41ebcf0], ecx
movzx edx, byte [ebx + 0x12]
push eax
mov dword [0x6a438c], edx
call fcn.00401f00
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 4
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx ecx, word [ebx + 4]
push ecx
call fcn.00406270
mov edx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], dx
jae 0x442e66
lea ecx, [eax - 1]
mov edx, 0x270d
cmp cx, dx
ja 0x442e66
mov cl, byte [ebx + 6]
mov edx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov byte [eax + edx + 7], cl
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 4
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx eax, word [ebx + 4]
push eax
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x442ec3
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x442ec3
mov ecx, dword [0x56895c]
movzx edx, ax
mov al, byte [ebx + 6]
imul edx, edx, 0x108c
mov byte [edx + ecx + 0x14], al
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov eax, dword [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x1c
ja 0x447ef1
lea edx, [edi + eax*4 + 4]
cmp edx, esi
ja 0x447ef1
push 0x70
xor esi, esi
push esi
push 0x1a391b8
call fcn.004cce10
add esp, 0xc
xor edx, edx
cmp dword [ebx + 4], esi
jbe 0x442f38
xor eax, eax
add eax, eax
add eax, eax
movzx ecx, byte [eax + ebx + 8]
cmp ecx, 0x100
jg 0x442f2f
mov cl, byte [eax + ebx + 9]
test cl, cl
je 0x442f2f
cmp cl, 0xa
ja 0x442f2f
mov ecx, dword [eax + ebx + 8]
mov dword [eax + 0x1a391b8], ecx
inc edx
movzx eax, dx
cmp eax, dword [ebx + 4]
jb 0x442f07
mov ebx, dword [ebx + 4]
lea edi, [edi + ebx*4 + 4]
mov dword [ebp - 0x1a88], edi
mov dword [0x539dd0], ebx
mov dword [0x41eb8b4], esi
mov dword [0x5ea84c], esi
xor eax, eax
mov dword [ebp - 0x1a84], 0x1c
mov bl, byte [eax + 0x1a391b8]
test bl, bl
je 0x442fd4
mov cl, byte [eax + 0x1a391b9]
test cl, cl
je 0x442fd4
test byte [eax + 0x1a391bb], 0x20
jbe 0x442f9e
mov edx, dword [eax + 0x5659d0]
cmp edx, esi
je 0x442f93
movzx esi, cl
cmp edx, esi
jle 0x442fa9
xor esi, esi
movzx edx, cl
mov dword [eax + 0x5659d0], edx
jmp 0x442fab
movzx ecx, cl
mov dword [eax + 0x5659d0], ecx
jmp 0x442fab
xor esi, esi
mov ecx, dword [0x5f3440]
movzx edx, bl
imul edx, edx, 0xd8
movzx edx, byte [edx + ecx + 3]
add dword [0x41eb8b4], edx
cmp bl, 0x64
jne 0x442fd4
mov dword [0x5ea84c], 1
add eax, 4
dec dword [ebp - 0x1a84]
jne 0x442f63
mov byte [0x6a587a], 0
mov dword [0x6a5884], esi
mov dword [0x6a587c], esi
call fcn.0040d270
mov eax, dword [0x1a82f50]
cmp eax, 8
jle 0x44301d
fild dword [0x1a82f50]
add eax, 0xfffffff8
mov dword [0x6a5888], eax
fsub qword [0x4e5e68]
fidiv dword [0x6a5880]
jmp 0x443025
fldz
mov dword [0x6a5888], esi
fstp dword [0x6a588c]
call fcn.0040c740
cmp dword [0x6a2e20], esi
jne 0x443076
xor eax, eax
lea ecx, [eax + 0x1c]
lea ecx, [ecx]
cmp byte [eax*4 + 0x1a391b8], 0x58
jne 0x443072
mov edx, dword [eax*4 + 0x5659d0]
mov dword [0x6a2e20], 0x18
mov dword [0x6a2e24], eax
mov dword [0x6a2e28], esi
mov dword [0x6a2e30], esi
mov dword [0x6a2e2c], edx
inc eax
dec ecx
jne 0x443040
push 0x18
call fcn.00419a30
push 0x18
call fcn.00419d90
add esp, 8
cmp dword [0x526908], 0x47
jne 0x43c78f
fld dword [0x4e5e64]
mov dword [0x6a556c], 3
fstp dword [0x5e90d4]
mov dword [0x6a5570], 2
fld dword [0x4e4700]
fstp dword [0x64403c]
mov dword [0x631d48], 0x28
jmp 0x43c78f
movzx eax, word [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0xa
ja 0x447ef1
xor edx, edx
xor ecx, ecx
cmp dx, ax
jae 0x443126
jmp 0x4430f0
movzx eax, cx
lea eax, [eax + eax*2]
movzx edx, word [ebx + eax*4 + 8]
lea eax, [ebx + eax*4 + 4]
cmp edx, 0xa
ja 0x447ef1
mov esi, dword [eax + 8]
movzx edx, dx
mov dword [edx*8 + 0x633970], esi
mov eax, dword [eax + 0xc]
inc ecx
mov dword [edx*8 + 0x633974], eax
cmp cx, word [ebx + 4]
jb 0x4430f0
cmp dword [0x526908], 0x47
movzx eax, word [ebx + 4]
lea ecx, [eax + eax*2]
lea edi, [edi + ecx*4 + 4]
mov dword [ebp - 0x1a88], edi
jne 0x43c78f
cmp word [ebx + 6], 0
jne 0x43c78f
fld dword [0x4e4700]
mov dword [0x6a5570], 3
fstp dword [0x5e90d4]
mov dword [0x6a5574], 2
fld dword [0x4e5e18]
jmp 0x4430ba
movzx eax, word [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x1e
ja 0x447ef1
xor ecx, ecx
xor edx, edx
cmp cx, ax
jae 0x4431e9
jmp 0x4431a0
movzx eax, dx
lea eax, [eax + eax*2]
movzx ecx, word [ebx + eax*4 + 8]
lea eax, [ebx + eax*4 + 4]
cmp ecx, 0x1e
ja 0x447ef1
cmp word [eax + 0xe], 0
movzx ecx, cx
jbe 0x4431d8
mov esi, dword [eax + 8]
mov dword [ecx*8 + 0x53b7e0], esi
mov eax, dword [eax + 0xc]
mov dword [ecx*8 + 0x53b7e4], eax
jmp 0x4431e2
xor eax, eax
mov word [ecx*8 + 0x53b7e6], ax
inc edx
cmp dx, word [ebx + 4]
jb 0x4431a0
cmp word [ebx + 6], 0
movzx eax, word [ebx + 4]
lea ecx, [eax + eax*2]
lea edi, [edi + ecx*4 + 4]
mov dword [ebp - 0x1a88], edi
jne 0x43c78f
xor edx, edx
mov dword [0x1a39228], edx
mov eax, 0x53b7e6
lea ecx, [edx + 0x1e]
cmp word [eax], 0
jbe 0x44321c
inc edx
add eax, 8
dec ecx
jne 0x443215
push 0x17
mov dword [0x1a39228], edx
call fcn.00419a30
push 0x17
call fcn.00419d90
add esp, 8
cmp dword [0x526908], 0x47
jne 0x43c78f
fld dword [0x4e52a0]
mov dword [0x6a5574], 3
fstp dword [0x5e90d4]
mov dword [0x631d48], 0
fld dword [0x4e5118]
fstp dword [0x64403c]
jmp 0x43c78f
movzx eax, word [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x32
ja 0x447ef1
xor edx, edx
xor ecx, ecx
cmp dx, ax
jae 0x4432be
movzx eax, cx
lea eax, [eax + eax*2]
movzx edx, word [ebx + eax*4 + 8]
mov esi, dword [ebx + eax*4 + 0xc]
lea eax, [ebx + eax*4 + 4]
mov dword [edx*8 + 0x6a53a0], esi
mov eax, dword [eax + 0xc]
inc ecx
mov dword [edx*8 + 0x6a53a4], eax
cmp cx, word [ebx + 4]
jb 0x443293
movzx eax, word [ebx + 4]
lea ecx, [eax + eax*2]
xor esi, esi
lea edi, [edi + ecx*4 + 4]
mov dword [ebp - 0x1a88], edi
mov word [0x41ec30c], si
xor eax, eax
mov ecx, 0x6a53a6
lea edx, [esi + 0x32]
cmp word [ecx], 0
jbe 0x4432f4
movzx ebx, si
mov dword [ebx*4 + 0x41ebdf8], eax
inc si
inc eax
add ecx, 8
dec edx
jne 0x4432e2
mov word [0x41ec30c], si
jmp 0x43c78f
movzx eax, word [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x32
ja 0x447ef1
xor edx, edx
xor ecx, ecx
cmp dx, ax
jae 0x44334e
movzx eax, cx
lea eax, [eax + eax*2]
movzx edx, word [ebx + eax*4 + 8]
mov esi, dword [ebx + eax*4 + 0xc]
lea eax, [ebx + eax*4 + 4]
mov dword [edx*8 + 0x41ec0b0], esi
mov eax, dword [eax + 0xc]
inc ecx
mov dword [edx*8 + 0x41ec0b4], eax
cmp cx, word [ebx + 4]
jb 0x443323
movzx eax, word [ebx + 4]
lea ecx, [eax + eax*2]
xor esi, esi
lea edi, [edi + ecx*4 + 4]
mov dword [ebp - 0x1a88], edi
mov word [0x1a82014], si
xor eax, eax
mov ecx, 0x41ec0b6
lea edx, [esi + 0x32]
cmp word [ecx], 0
jbe 0x443384
movzx ebx, si
mov dword [ebx*4 + 0x6a3610], eax
inc si
inc eax
add ecx, 8
dec edx
jne 0x443372
mov word [0x1a82014], si
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
cmp edi, esi
ja 0x447ef1
cmp byte [0x63399c], 6
jne 0x4433c9
mov dx, word [ebx + 4]
mov word [0x63399e], dx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
mov dword [ebp - 0x1a88], edi
cmp edi, esi
ja 0x447ef1
movzx eax, word [ebx + 4]
push eax
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x4434bc
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x4434bc
movzx edi, ax
mov esi, edi
imul esi, esi, 0x108c
mov eax, esi
add ebx, 6
mov dword [ebp - 0x1a84], 0xa
jmp 0x443450
mov dl, byte [ebx]
mov ecx, dword [0x56895c]
mov byte [eax + ecx + 0x1080], dl
inc ebx
inc eax
dec dword [ebp - 0x1a84]
jne 0x443450
mov edx, dword [0x56895c]
movzx eax, byte [esi + edx + 0x1082]
push eax
call fcn.004327d0
mov ecx, dword [0x56895c]
movzx edx, byte [esi + ecx + 0x1080]
push edx
call fcn.00432c90
mov eax, dword [0x56895c]
movzx ecx, byte [esi + eax + 0x1086]
movzx edx, byte [esi + eax + 0x1082]
push ecx
push edx
call fcn.00431600
push edi
call fcn.00401f90
mov edi, dword [ebp - 0x1a88]
add esp, 0x14
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
mov dword [ebp - 0x1a84], edi
cmp edi, esi
ja 0x447ef1
movzx eax, word [ebx + 4]
push eax
call fcn.00406270
movzx eax, ax
mov ecx, 0x270f
add esp, 4
mov dword [ebp - 0x1a98], eax
cmp word [0x5f375c], cx
jae 0x4438d7
dec eax
mov edx, 0x270d
cmp ax, dx
ja 0x44375a
movzx esi, word [ebp - 0x1a98]
mov eax, dword [0x56895c]
mov edi, esi
imul edi, edi, 0x108c
mov byte [edi + eax + 0x10], 0
movzx eax, word [ebx + 6]
cmp eax, 1
jne 0x4435be
mov ecx, dword [0x56895c]
push esi
mov byte [edi + ecx + 0x11], al
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x44356a
push 0xd
push esi
call fcn.004013d0
add esp, 8
mov dx, word [ebp - 0x1a98]
cmp dx, word [0x5f375c]
jne 0x4438d7
cmp byte [0x6a5c18], 0
jne 0x4438d7
push 0x35
call fcn.00470df0
mov ecx, dword [0x41ec240]
add esp, 4
test ecx, ecx
je 0x4438d7
push str.ac16_defeated
call fcn.0046d280
mov edi, dword [ebp - 0x1a84]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp eax, 2
jne 0x443623
mov eax, dword [0x56895c]
push esi
mov byte [edi + eax + 0x11], 2
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x4438d7
mov ecx, dword [0x56895c]
cmp byte [edi + ecx + 5], 3
jne 0x443607
push 0xc
push esi
call fcn.004013d0
mov edi, dword [ebp - 0x1a84]
add esp, 8
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
push 0xd
push esi
call fcn.004013d0
mov edi, dword [ebp - 0x1a84]
add esp, 8
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp eax, 3
jne 0x443683
mov edx, dword [0x56895c]
push esi
mov byte [edi + edx + 0x11], al
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x4438d7
mov eax, dword [0x56895c]
cmp byte [edi + eax + 5], 3
jne 0x443607
movzx ecx, byte [edi + eax + 0x1083]
push ecx
lea edx, [edi + eax + 0x1dc]
push 0x14
push edx
call fcn.00437110
push 0xd
push esi
call fcn.004013d0
mov edi, dword [ebp - 0x1a84]
add esp, 0x14
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp eax, 4
jne 0x4436d0
mov eax, dword [0x56895c]
push esi
mov byte [edi + eax + 0x11], 4
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x4438d7
mov ecx, dword [0x56895c]
cmp byte [edi + ecx + 5], 3
jne 0x4438d7
push 0xe
push esi
call fcn.004013d0
mov edi, dword [ebp - 0x1a84]
add esp, 8
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp eax, 5
jne 0x443734
mov edx, dword [0x56895c]
push esi
mov byte [edi + edx + 0x11], al
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x4438d7
mov eax, dword [0x56895c]
cmp byte [edi + eax + 5], 3
jne 0x4438d7
movzx ecx, byte [edi + eax + 0x1083]
push ecx
lea edx, [edi + eax + 0x1dc]
push 0x14
push edx
call fcn.00437110
push 9
push esi
call fcn.004013d0
mov edi, dword [ebp - 0x1a84]
add esp, 0x14
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov eax, dword [0x56895c]
push 0
push esi
mov byte [edi + eax + 0x11], 0
call fcn.00401650
mov edi, dword [ebp - 0x1a84]
add esp, 8
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov edi, 1
mov dword [ebp - 0x1a98], edi
mov esi, 0x108c
lea ebx, [ebx]
mov ecx, dword [0x56895c]
cmp byte [esi + ecx], 0
je 0x4438b5
mov edx, ecx
mov ax, word [esi + edx + 0x16]
cmp ax, word [ebx + 4]
jne 0x4438b5
movzx eax, word [ebx + 6]
cmp eax, 1
jne 0x4437e8
push edi
mov byte [esi + ecx + 0x11], al
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x4437b6
push 0xd
push edi
call fcn.004013d0
add esp, 8
mov dx, word [ebp - 0x1a98]
cmp dx, word [0x5f375c]
jne 0x4437d9
cmp byte [0x6a5c18], 0
jne 0x4437d9
push 0x35
call fcn.00470df0
add esp, 4
mov eax, dword [0x56895c]
mov byte [esi + eax + 0x10], 0
jmp 0x4438b5
cmp eax, 2
jne 0x44382f
mov ecx, dword [0x56895c]
push edi
mov byte [esi + ecx + 0x11], al
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x443820
mov edx, dword [0x56895c]
cmp byte [esi + edx + 5], 3
jne 0x443815
push 0xc
jmp 0x443817
push 0xd
push edi
call fcn.004013d0
add esp, 8
mov eax, dword [0x56895c]
mov byte [esi + eax + 0x10], 0
jmp 0x4438b5
cmp eax, 3
jne 0x44389f
mov ecx, dword [0x56895c]
push edi
mov byte [esi + ecx + 0x11], al
call fcn.0040cd80
add esp, 4
test eax, eax
jne 0x443892
mov eax, dword [0x56895c]
cmp byte [esi + eax + 5], 3
jne 0x443887
movzx edx, byte [esi + eax + 0x1083]
push edx
lea eax, [esi + eax + 0x1dc]
push 0x14
push eax
call fcn.00437110
push 0xd
push edi
call fcn.004013d0
mov ecx, dword [0x56895c]
add esp, 0x14
mov byte [esi + ecx + 0x10], 0
jmp 0x4438b5
push 0xd
push edi
call fcn.004013d0
add esp, 8
mov ecx, dword [0x56895c]
mov byte [esi + ecx + 0x10], 0
jmp 0x4438b5
mov edx, dword [0x56895c]
push 0
push edi
mov byte [esi + edx + 0x11], 0
call fcn.00401650
add esp, 8
mov eax, dword [ebp - 0x1a98]
inc eax
mov ecx, 0x1388
inc edi
add esi, 0x108c
mov dword [ebp - 0x1a98], eax
cmp ax, cx
jb 0x443770
mov edi, dword [ebp - 0x1a84]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
xor eax, eax
cmp edi, esi
ja 0x43c7a0
mov dx, word [ebx + 4]
mov dword [0x6a4f80], eax
mov dword [0x6a4f84], eax
mov dword [0x6a4f88], eax
mov dword [0x6a4f8c], eax
mov dword [0x6a4f90], eax
mov dword [0x6a4f94], eax
mov dword [0x6a4f98], eax
mov dword [0x6a4f9c], eax
mov dword [0x6a4fa0], eax
mov dword [0x6a4fa4], eax
mov dword [0x6a4fa8], eax
mov dword [0x6a4fac], eax
mov dword [0x6a4fb0], eax
mov dword [0x6a4fb4], eax
mov dword [0x6a4fb8], eax
mov dword [0x6a4fbc], eax
mov dword [0x6a4fc0], eax
mov dword [0x6a4fc4], eax
mov dword [0x6a4fc8], eax
mov dword [0x6a4fcc], eax
mov dword [0x6a4fd0], eax
mov dword [0x6a4fd4], eax
mov dword [0x6a4fd8], eax
mov dword [0x6a4fdc], eax
mov dword [0x6a4fe0], eax
mov dword [0x6a4fe4], eax
mov dword [0x6a4fe8], eax
mov dword [0x6a4fec], eax
mov dword [0x6a4ff0], eax
mov dword [0x6a4ff4], eax
mov dword [0x1a81fd4], eax
mov dword [0x1a81fd8], eax
mov dword [0x1a81fdc], eax
mov dword [0x1a81fe0], eax
mov dword [0x1a81fe4], eax
mov dword [0x1a81fe8], eax
mov dword [0x1a81fec], eax
mov dword [0x1a81ff0], eax
mov dword [0x1a81ff4], eax
mov dword [0x1a81ff8], eax
or eax, 0xffffffff
mov word [0x5ea484], dx
mov dword [0x56806c], eax
mov dword [0x568070], eax
mov dword [0x568074], eax
mov dword [0x568078], eax
mov dword [0x56807c], eax
mov dword [0x568080], eax
mov dword [0x568084], eax
mov dword [0x568088], eax
mov dword [0x56808c], eax
mov dword [0x568090], eax
call fcn.0040cb00
push 0x30
call fcn.00470df0
push 0x17
call fcn.00470df0
add esp, 8
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
movzx eax, word [ebx + 8]
fstp st(1)
fstp st(0)
jne 0x447ef1
lea edi, [eax + edi + 8]
mov dword [ebp - 0x1a84], eax
mov dword [ebp - 0x1a8c], edi
cmp edi, esi
ja 0x447ef1
push 0x800
push 0
push 0x5f4038
call fcn.004cce10
mov eax, dword [ebp - 0x1a84]
push eax
lea ecx, [ebx + 0xc]
push ecx
push 0x5f4038
call fcn.004cd640
movzx eax, word [ebx + 6]
shl eax, 0xb
add esp, 0x18
add eax, 0x6a64c0
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x443a97
mov edi, 0x5f4038
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x443aa6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx edx, word [ebx + 4]
mov dword [0x644248], edx
movzx eax, word [ebx + 6]
shl eax, 0xb
add eax, 0x6a64c0
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x443ad5
mov edx, dword [0x1a7d8a8]
sub eax, ecx
add eax, dword [ebp - 0x1a84]
push 0x5f4038
push edx
mov dword [0x633660], eax
call fcn.0049be20
xor ecx, ecx
add esp, 8
lea edx, [eax - 0xa]
mov dword [0x1a83060], eax
mov byte [0x6a5b9a], 0
mov dword [0x6a5ba4], ecx
mov dword [0x6a5ba8], edx
mov dword [0x6a5b9c], ecx
cmp eax, 0xa
jle 0x443b39
fild dword [0x1a83060]
fsub qword [0x4e4458]
fidiv dword [0x6a5ba0]
jmp 0x443b3b
fldz
push 0x31
fstp dword [0x6a5bac]
call fcn.00470df0
mov eax, dword [ebp - 0x1a8c]
add esp, 4
mov dword [ebp - 0x1a88], eax
mov edi, eax
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov dword [0x1a38394], 0xffffffff
mov dword [0x5e90e0], 0
jmp 0x43c78f
fstp st(2)
add edi, 0x1c
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx ecx, word [ebx + 4]
push ecx
call fcn.0043bf60
movzx esi, ax
mov edx, 0x270f
add esp, 4
cmp si, dx
je 0x443bd6
movzx eax, si
imul eax, eax, 0xd4
add eax, dword [0x568964]
push 0xd4
push 0
push eax
call fcn.004cce10
add esp, 0xc
jmp 0x443c03
mov ecx, dword [0x568964]
mov eax, 1
movzx edx, ax
imul edx, edx, 0xd4
cmp byte [edx + ecx], 0
jne 0x443bf8
movzx esi, ax
mov eax, 0x1f4
inc eax
mov edx, 0x1f4
cmp ax, dx
jb 0x443be1
lea eax, [esi - 1]
mov ecx, 0x270d
cmp ax, cx
ja 0x443e67
movzx edx, word [ebx + 4]
mov eax, dword [0x6a3098]
mov word [eax + edx*2], si
mov edx, dword [0x568964]
movzx ecx, si
mov esi, ecx
imul esi, esi, 0xd4
mov byte [esi + edx], 1
mov ax, word [ebx + 4]
mov edx, dword [0x568964]
mov word [esi + edx + 4], ax
mov edx, dword [0x568964]
xor eax, eax
mov word [esi + edx + 6], ax
movzx eax, word [ebx + 8]
mov dword [ebp - 0x1a84], eax
mov edx, dword [0x568964]
push ecx
fild dword [ebp - 0x1a84]
fld qword [0x4e4458]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esi + edx + 8]
movzx eax, word [ebx + 0xa]
mov dword [ebp - 0x1a84], eax
mov edx, dword [0x568964]
fild dword [ebp - 0x1a84]
fdivrp st(1)
fstp dword [esi + edx + 0xc]
mov eax, dword [0x568964]
mov edx, dword [ebx + 0xc]
mov dword [esi + eax + 0x18], edx
mov edx, dword [ebx + 0x10]
lea eax, [esi + eax + 0x18]
mov dword [eax + 4], edx
mov edx, dword [ebx + 0x14]
mov dword [eax + 8], edx
mov edx, dword [ebx + 0x18]
mov dword [eax + 0xc], edx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 0x10], edx
call fcn.0043c5a0
mov eax, dword [0x568964]
fld dword [esi + eax + 8]
add esp, 4
fstp dword [ebp - 0x1b14]
fld dword [esi + eax + 0xc]
mov eax, dword [ebp - 0x1b14]
fstp dword [ebp - 0x1b10]
mov ecx, dword [ebp - 0x1b10]
fld dword [0x4e4820]
mov dword [ebp - 0x19b8], eax
fstp dword [ebp - 0x1b0c]
mov edx, dword [ebp - 0x1b0c]
lea eax, [ebp - 0x19b8]
mov dword [ebp - 0x19b4], ecx
mov ecx, dword [0x53b1ec]
push eax
mov dword [ebp - 0x19b0], edx
call fcn.0048d3d0
fstp dword [ebp - 0x1a84]
mov eax, dword [0x568964]
fld dword [esi + eax + 8]
fstp dword [esi + eax + 0x2c]
mov eax, dword [0x568964]
fld dword [esi + eax + 0xc]
fstp dword [esi + eax + 0x30]
mov ecx, dword [0x568964]
fld dword [ebp - 0x1a84]
fsubr qword [0x4e4838]
fstp dword [esi + ecx + 0x10]
cmp word [ebx + 6], 1
jne 0x443d86
mov edx, dword [0x568964]
fld dword [0x4e46dc]
mov byte [esi + edx + 1], 1
mov eax, dword [0x568964]
fstp dword [esi + eax + 0x14]
mov eax, dword [0x568964]
fld dword [esi + eax + 0x10]
fadd qword [0x4e48d0]
jmp 0x443da6
mov ecx, dword [0x568964]
fldz
mov byte [esi + ecx + 1], 0
mov edx, dword [0x568964]
fstp dword [esi + edx + 0x14]
mov eax, dword [0x568964]
fld dword [esi + eax + 0x10]
fstp dword [esi + eax + 0x34]
mov ecx, dword [0x568964]
movzx eax, word [esi + ecx + 0x1a]
mov edx, dword [eax*4 + 0x5eac20]
fld dword [edx + 0x38]
fstp dword [esi + ecx + 0x60]
mov ecx, dword [eax*4 + 0x5eac20]
fld dword [ecx + 0x3c]
mov edx, dword [0x568964]
fstp dword [esi + edx + 0x64]
mov ecx, dword [eax*4 + 0x5eac20]
fld dword [ecx + 0x54]
mov edx, dword [0x568964]
fstp dword [esi + edx + 0x84]
mov ecx, dword [eax*4 + 0x5eac20]
fld dword [ecx + 0x58]
mov edx, dword [0x568964]
fstp dword [esi + edx + 0x88]
mov ecx, dword [eax*4 + 0x5eac20]
fld dword [ecx + 0x70]
mov edx, dword [0x568964]
fstp dword [esi + edx + 0xa8]
mov ecx, dword [eax*4 + 0x5eac20]
fld dword [ecx + 0x74]
mov edx, dword [0x568964]
fstp dword [esi + edx + 0xac]
mov ecx, dword [eax*4 + 0x5eac20]
fld dword [ecx + 0x8c]
mov edx, dword [0x568964]
fstp dword [esi + edx + 0xcc]
mov eax, dword [eax*4 + 0x5eac20]
fld dword [eax + 0x90]
mov ecx, dword [0x568964]
fstp dword [esi + ecx + 0xd0]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov eax, dword [ebx + 4]
fstp st(2)
fstp st(1)
fstp st(0)
cmp eax, 0x800
ja 0x447ef1
lea edx, [edi + eax*2 + 4]
cmp edx, esi
ja 0x447ef1
mov dword [ebp - 0x1a90], 0
test eax, eax
je 0x443f89
xor esi, esi
jmp 0x443eb0
movzx eax, word [ebx + esi*2 + 8]
test ax, ax
je 0x443f70
push eax
call fcn.0043bf60
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
cmp cx, dx
ja 0x443f08
movzx eax, ax
imul eax, eax, 0xd4
add eax, dword [0x568964]
push 0xd4
push 0
push eax
call fcn.004cce10
movzx ecx, word [ebx + esi*2 + 8]
mov eax, dword [0x6a3098]
add esp, 0xc
xor edx, edx
mov word [eax + ecx*2], dx
jmp 0x443f70
mov eax, 0xd4
mov dword [ebp - 0x1a84], eax
mov dword [ebp - 0x1a8c], 0x1f3
lea ecx, [ecx]
add eax, dword [0x568964]
cmp byte [eax], 0
je 0x443f57
mov dx, word [eax + 4]
cmp dx, word [ebx + esi*2 + 8]
jne 0x443f57
push 0xd4
push 0
push eax
call fcn.004cce10
movzx eax, word [ebx + esi*2 + 8]
mov edx, dword [0x6a3098]
add esp, 0xc
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x1a84]
add eax, 0xd4
dec dword [ebp - 0x1a8c]
mov dword [ebp - 0x1a84], eax
jne 0x443f20
mov eax, dword [ebp - 0x1a90]
inc eax
movzx esi, ax
mov dword [ebp - 0x1a90], eax
cmp esi, dword [ebx + 4]
jb 0x443eb0
mov eax, dword [ebx + 4]
lea edi, [edi + eax*2 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
movzx ecx, word [ebx + 4]
fstp st(1)
movzx eax, word [ebx + 6]
fstp st(0)
movzx edx, word [ebx + 8]
mov dword [ebp - 0x1a84], ecx
mov dword [ebp - 0x1a90], eax
mov dword [ebp - 0x1a94], edx
mov dword [ebp - 0x1a8c], 0
jne 0x447ef1
add edi, 0x148
mov dword [ebp - 0x1a98], edi
cmp edi, esi
ja 0x447ef1
mov edx, 0x800
cmp ax, dx
ja 0x447ef1
mov eax, 0x2710
cmp cx, ax
ja 0x447ef1
push edx
push 0
push 0x6a44e0
call fcn.004cce10
movzx eax, word [ebp - 0x1a90]
push eax
lea ecx, [ebx + 0x4c]
push ecx
push 0x6a44e0
mov dword [ebp - 0x1a90], eax
call fcn.004cd640
movzx eax, word [ebp - 0x1a84]
mov ecx, 0x9c4
cdq
idiv ecx
movzx esi, word [ebx + 0x16]
add esp, 0x18
lea ecx, [ebp - 0x804]
imul edx, edx, 0x19
add edx, 0x5f4cb8
test si, si
je 0x44407c
push esi
push edx
movzx edx, al
mov eax, dword [edx*4 + 0x5ecbd8]
add eax, dword [0x1a3ba10]
push eax
push str._s_s_d_n
push ecx
call fcn.004cce8a
add esp, 0x14
jmp 0x44409c
push edx
movzx edx, al
mov eax, dword [edx*4 + 0x5ecbd8]
add eax, dword [0x1a3ba10]
push eax
push str._s_s_n
push ecx
call fcn.004cce8a
add esp, 0x10
lea eax, [ebp - 0x804]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4440a4
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4440b3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4440d2
sub eax, edx
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec978]
add dword [0x41ec348], eax
push edx
lea ecx, [ebp - 0x804]
push ecx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444105
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444114
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444133
sub eax, edx
add dword [0x41ec348], eax
test byte [ebx + 0xb], 1
jbe 0x444210
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec97c]
lea ecx, [ebp - 0x804]
push edx
push ecx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444170
mov edi, 0x6a44e0
sub eax, esi
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444180
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4441a0
sub eax, edx
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec978]
add dword [0x41ec348], eax
push edx
lea ecx, [ebp - 0x804]
push ecx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4441d3
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4441e2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444201
sub eax, edx
add dword [0x41ec348], eax
cmp byte [ebx + 0x42], 0
jbe 0x4442ef
mov edx, dword [ebp - 0x1a94]
add edx, 0xfffffff9
cmp dx, 7
ja 0x4442ef
mov eax, dword [0x1a3ba10]
add eax, dword [0x5ec974]
lea edx, [ebp - 0x804]
push eax
push edx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444250
mov edi, 0x6a44e0
sub eax, esi
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444260
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444280
sub eax, edx
add dword [0x41ec348], eax
mov eax, dword [0x1a3ba10]
add eax, dword [0x5ec978]
lea edx, [ebp - 0x804]
push eax
push edx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4442b2
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4442c1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4442e0
sub eax, edx
add dword [0x41ec348], eax
movzx eax, word [ebx + 0x14]
test ax, ax
je 0x4443d0
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ecbb4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0x804]
push ecx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444330
mov edi, 0x6a44e0
sub eax, esi
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444340
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444360
sub eax, edx
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec978]
add dword [0x41ec348], eax
push edx
lea ecx, [ebp - 0x804]
push ecx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444393
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4443a2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4443c1
sub eax, edx
add dword [0x41ec348], eax
mov eax, dword [ebp - 0x1a94]
cmp ax, 1
jne 0x4443f0
movzx edx, byte [ebx + 0x4b]
movzx eax, byte [ebx + 0x4a]
movzx ecx, byte [ebx + 0x49]
push edx
push eax
push ecx
jmp 0x444f51
cmp ax, 2
je 0x444f59
mov edx, dword [ebp - 0x1a94]
add edx, 0xfffffffd
cmp dx, 0xb
ja 0x444f42
mov esi, dword [ebp - 0x1a84]
push 0x5db
push 0x579
push 0
push esi
call fcn.0040ad30
add esp, 0x10
test eax, eax
je 0x444436
mov dword [ebp - 0x1a8c], 1
mov eax, dword [ebp - 0x1a94]
cmp ax, 6
ja 0x4444be
add esi, 0xffffd8f1
lea edx, [ebp - 0x804]
test si, si
jne 0x444465
mov eax, dword [0x1a3ba10]
add eax, dword [0x5ec910]
push eax
jmp 0x444476
movzx eax, ax
mov ecx, dword [eax*4 + 0x5ec8e4]
add ecx, dword [0x1a3ba10]
push ecx
push edx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444487
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444496
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4444b5
jmp 0x444527
add eax, 0xfffffff9
cmp ax, 7
ja 0x44452f
movzx eax, word [ebx + 8]
mov ecx, dword [eax*4 + 0x5ec900]
add ecx, dword [0x1a3ba10]
lea edx, [ebp - 0x804]
push ecx
push edx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4444f0
mov edi, 0x6a44e0
sub eax, esi
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444500
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444520
sub eax, edx
add dword [0x41ec348], eax
movzx edx, word [ebx + 0xc]
test dx, dx
je 0x444672
cmp dword [ebp - 0x1a8c], 0
mov ecx, 0x20a
je 0x44454f
mov ecx, 0x310
movzx eax, word [ebx + 0x16]
test ax, ax
je 0x44460c
cmp eax, 0xa
ja 0x44460c
fld dword [eax*4 + 0x51ca2c]
mov dword [ebp - 0x1a84], edx
fimul dword [ebp - 0x1a84]
fnstcw word [ebp - 0x1a86]
movzx eax, word [ebp - 0x1a86]
or eax, 0xc00
mov dword [ebp - 0x1a84], eax
fldcw word [ebp - 0x1a84]
fistp dword [ebp - 0x1a84]
mov ax, word [ebp - 0x1a84]
movzx edx, ax
movzx eax, cx
fldcw word [ebp - 0x1a86]
mov ecx, dword [eax*4 + 0x5ec120]
add ecx, dword [0x1a3ba10]
push edx
push ecx
lea edx, [ebp - 0x804]
push edx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4445d5
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4445e4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444603
jmp 0x44466a
push edx
movzx ecx, cx
mov edx, dword [ecx*4 + 0x5ec120]
add edx, dword [0x1a3ba10]
lea eax, [ebp - 0x804]
push edx
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444635
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444644
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444663
sub eax, edx
add dword [0x41ec348], eax
movzx edx, word [ebx + 0xe]
test dx, dx
je 0x4447b5
cmp dword [ebp - 0x1a8c], 0
mov ecx, 0x20b
je 0x444692
mov ecx, 0x311
movzx eax, word [ebx + 0x16]
test ax, ax
je 0x44474f
cmp eax, 0xa
ja 0x44474f
fld dword [eax*4 + 0x51ca2c]
mov dword [ebp - 0x1a84], edx
fimul dword [ebp - 0x1a84]
fnstcw word [ebp - 0x1a86]
movzx eax, word [ebp - 0x1a86]
or eax, 0xc00
mov dword [ebp - 0x1a84], eax
fldcw word [ebp - 0x1a84]
fistp dword [ebp - 0x1a84]
mov ax, word [ebp - 0x1a84]
movzx edx, ax
movzx eax, cx
fldcw word [ebp - 0x1a86]
mov ecx, dword [eax*4 + 0x5ec120]
add ecx, dword [0x1a3ba10]
push edx
push ecx
lea edx, [ebp - 0x804]
push edx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444718
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444727
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444746
jmp 0x4447ad
push edx
movzx ecx, cx
mov edx, dword [ecx*4 + 0x5ec120]
add edx, dword [0x1a3ba10]
lea eax, [ebp - 0x804]
push edx
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444778
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444787
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4447a6
sub eax, edx
add dword [0x41ec348], eax
movzx eax, word [ebx + 0x10]
test ax, ax
je 0x444841
mov ecx, 0xff
cmp ax, cx
jae 0x444841
cmp dword [ebp - 0x1a8c], 0
jne 0x444841
mov edx, eax
mov eax, ecx
mov ecx, dword [0x1a3ba10]
add ecx, dword [0x5ec96c]
sub eax, edx
push eax
push ecx
lea eax, [ebp - 0x804]
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444804
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444813
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444832
sub eax, edx
add dword [0x41ec348], eax
mov ecx, dword [0x1a3ba10]
add ecx, dword [0x5ec978]
lea eax, [ebp - 0x804]
push ecx
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444865
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444874
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444893
sub eax, edx
mov edx, eax
add dword [0x41ec348], edx
cmp byte [ebx + 0x40], cl
ja 0x4448b2
cmp byte [ebx + 0x42], cl
jbe 0x444a21
mov eax, dword [0x1a3ba10]
add eax, dword [0x5ec964]
mov esi, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4448c0
mov edi, 0x6a44e0
sub eax, esi
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4448d0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [0x41ec348], edx
cmp byte [ebx + 0x40], 0
jbe 0x444981
push 0x200
lea ecx, [ebp - 0x804]
push 0
push ecx
call fcn.004cce10
movzx eax, byte [ebx + 0x40]
movzx edx, byte [ebx + 0x41]
imul eax, eax, 0x19
push edx
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec968]
add eax, 0x6424d8
push eax
push edx
lea eax, [ebp - 0x804]
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0x1c
mov esi, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444940
mov edi, 0x6a44e0
sub eax, esi
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444950
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444970
sub eax, edx
mov edx, eax
add dword [0x41ec348], edx
cmp byte [ebx + 0x42], 0
jbe 0x444a21
cmp word [ebp - 0x1a94], 6
jne 0x444a21
push 0x200
lea ecx, [ebp - 0x804]
push 0
push ecx
call fcn.004cce10
movzx eax, byte [ebx + 0x42]
movzx edx, byte [ebx + 0x43]
imul eax, eax, 0x19
push edx
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec968]
add eax, 0x6424d8
push eax
push edx
lea eax, [ebp - 0x804]
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0x1c
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4449e2
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4449f1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444a10
sub eax, edx
mov edx, eax
add dword [0x41ec348], edx
mov edi, 0x6a44e0
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x444a27
mov cx, word [0x4e59c4]
inc dword [0x41ec348]
mov word [edi], cx
mov al, byte [ebx + 0x48]
test al, al
je 0x444ab1
mov ecx, dword [0x1a3ba10]
add ecx, dword [0x5ec950]
movzx edx, al
push edx
push ecx
lea edx, [ebp - 0x804]
push edx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444a72
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444a81
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444aa0
sub eax, edx
mov edx, eax
add dword [0x41ec348], edx
mov al, byte [ebx + 0x44]
test al, al
je 0x444b23
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec954]
movzx eax, al
push eax
push edx
lea eax, [ebp - 0x804]
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444ae4
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444af3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444b12
sub eax, edx
mov edx, eax
add dword [0x41ec348], edx
mov al, byte [ebx + 0x46]
test al, al
je 0x444b94
movzx ecx, al
mov eax, dword [0x1a3ba10]
add eax, dword [0x5ec958]
push ecx
push eax
lea ecx, [ebp - 0x804]
push ecx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444b55
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444b64
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444b83
sub eax, edx
mov edx, eax
add dword [0x41ec348], edx
mov al, byte [ebx + 0x45]
test al, al
je 0x444c06
mov ecx, dword [0x1a3ba10]
add ecx, dword [0x5ec95c]
movzx edx, al
push edx
push ecx
lea edx, [ebp - 0x804]
push edx
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444bc7
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444bd6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444bf5
sub eax, edx
mov edx, eax
add dword [0x41ec348], edx
mov al, byte [ebx + 0x47]
test al, al
je 0x444c81
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec960]
movzx eax, al
push eax
push edx
lea eax, [ebp - 0x804]
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 0xc
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444c40
mov edi, 0x6a44e0
sub eax, esi
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444c50
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444c70
sub eax, edx
mov edx, eax
add dword [0x41ec348], edx
mov ecx, dword [0x5ec88c]
add ecx, dword [0x1a3ba10]
mov dword [ebp - 0x1a84], ecx
mov esi, ecx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x444c95
sub ecx, esi
mov edi, 0x6a44e0
mov eax, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444ca6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x1a84]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444cc5
sub eax, esi
add dword [0x41ec348], eax
cmp byte [ebx + 0x18], 1
jne 0x444d2f
mov eax, dword [0x1a3ba10]
add eax, dword [0x5ec8e4]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444ce7
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444cf6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x6a44e0
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x444d12
mov cx, word [0x4e59c4]
add dword [0x41ec348], edx
mov word [edi], cx
jmp 0x444e4f
push 0x200
lea edx, [ebp - 0x804]
push 0
push edx
mov dword [ebp - 0x1a84], 1
call fcn.004cce10
add esp, 0xc
xor edx, edx
cmp byte [edx + ebx + 0x18], 1
jne 0x444de2
mov eax, dword [edx*4 + 0x5ec88c]
add eax, dword [0x1a3ba10]
mov esi, eax
jmp 0x444d70
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444d70
lea edi, [ebp - 0x804]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444d80
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x1a84]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc eax
lea edi, [ebp - 0x804]
dec edi
mov dword [ebp - 0x1a84], eax
cmp ax, 3
jb 0x444dd0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x444db0
mov ax, word [0x4e59c4]
mov word [edi], ax
mov dword [ebp - 0x1a84], 0
jmp 0x444de2
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x444dd0
mov cx, word [0x4e5e00]
mov word [edi], cx
inc edx
cmp edx, 0x28
jl 0x444d51
lea edi, [ebp - 0x804]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x444df3
mov dx, word [0x4e59c4]
lea eax, [ebp - 0x804]
mov word [edi], dx
mov esi, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444e10
mov edi, 0x6a44e0
sub eax, esi
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444e20
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444e40
sub eax, edx
add dword [0x41ec348], eax
mov edi, 0x6a44e0
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x444e55
mov ax, word [0x4e59c4]
inc dword [0x41ec348]
mov word [edi], ax
cmp byte [ebx + 0x42], 0
jbe 0x444ee1
cmp word [ebp - 0x1a94], 9
jne 0x444ee1
mov ecx, dword [0x5ec970]
add ecx, dword [0x1a3ba10]
lea eax, [ebp - 0x804]
push ecx
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444ea4
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444eb3
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444ed2
sub eax, edx
add dword [0x41ec348], eax
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec978]
lea eax, [ebp - 0x804]
push edx
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444f05
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444f14
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444f33
sub eax, edx
add dword [0x41ec348], eax
movzx ecx, byte [ebx + 0x4b]
movzx edx, byte [ebx + 0x4a]
movzx eax, byte [ebx + 0x49]
push ecx
push edx
push eax
call fcn.00407560
add esp, 0xc
cmp byte [ebx + 0x49], 0
je 0x444fc0
mov ecx, dword [0x1a3ba10]
add ecx, dword [0x5ec978]
lea eax, [ebp - 0x804]
push ecx
push eax
call fcn.004cce8a
lea eax, [ebp - 0x804]
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444f83
mov edi, 0x6a44e0
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x444f92
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x804]
rep movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x444fb1
sub eax, edx
add dword [0x41ec348], eax
movzx eax, word [ebx + 4]
cdq
mov ecx, 0x9c4
idiv ecx
shl edx, 0xb
add edx, 0x6a64c0
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x444fd7
mov edi, 0x6a44e0
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x444fe6
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx eax, word [ebx + 4]
cdq
mov ecx, 0x9c4
idiv ecx
shl edx, 0xb
add edx, 0x6a64c0
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x445014
mov eax, dword [ebp - 0x1a90]
mov ecx, dword [0x1a7d8a8]
sub edx, esi
add eax, edx
push 0x6a44e0
push ecx
mov dword [0x41ec348], eax
call fcn.0049be20
xor ecx, ecx
add esp, 8
lea edx, [eax - 9]
mov dword [0x5e9530], eax
mov byte [0x6a5b5a], 0
mov dword [0x6a5b64], ecx
mov dword [0x6a5b68], edx
mov dword [0x6a5b5c], ecx
cmp eax, 9
jle 0x44507a
fild dword [0x5e9530]
fsub qword [0x4e5df8]
fidiv dword [0x6a5b60]
jmp 0x44507c
fldz
push 0x2f
fstp dword [0x6a5b6c]
mov dword [0x643dd8], 0x17
call fcn.00470df0
movzx eax, word [ebx + 4]
cdq
mov ecx, 0x9c4
idiv ecx
push edx
call fcn.0046cef0
mov edx, dword [ebp - 0x1a98]
add esp, 8
mov dword [ebp - 0x1a88], edx
mov edi, edx
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
movzx eax, word [ebx + 6]
test ax, ax
je 0x447ef1
cmp eax, 0x18
ja 0x447ef1
movzx eax, word [ebx + 4]
push eax
call fcn.00406270
movzx ecx, word [ebx + 0x14]
movzx esi, ax
push ecx
mov dword [ebp - 0x1a98], esi
call fcn.00406270
movzx edx, ax
mov eax, 0x270f
add esp, 8
mov dword [ebp - 0x1a94], edx
cmp word [0x5f375c], ax
jae 0x44547a
lea ecx, [esi - 1]
mov edx, 0x270d
cmp cx, dx
ja 0x44547a
mov eax, dword [0x56895c]
movzx esi, si
mov dword [ebp - 0x1a90], esi
imul esi, esi, 0x108c
cmp byte [esi + eax + 5], 1
jne 0x44517f
mov ecx, dword [ebp - 0x1a90]
push 0x18
push ecx
call fcn.00401650
mov edx, dword [0x56895c]
movzx eax, byte [esi + edx + 0xf]
mov ecx, dword [ebp - 0x1a90]
push eax
push ecx
call fcn.00401c20
movzx edx, ax
add esp, 0x10
mov dword [ebp - 0x1a84], edx
jmp 0x4451af
mov eax, dword [ebp - 0x1a90]
push eax
call fcn.00401930
mov ecx, dword [0x56895c]
movzx edx, byte [esi + ecx + 0xf]
mov eax, dword [ebp - 0x1a90]
push edx
push eax
call fcn.00401d90
movzx ecx, ax
add esp, 0xc
mov dword [ebp - 0x1a84], ecx
cmp dword [0x5e90d8], 0
je 0x445202
mov eax, dword [0x56895c]
lea edx, [ebp - 0x19f4]
push edx
lea ecx, [esi + eax + 0x1dc]
push ecx
call fcn.0040d4b0
add esp, 8
cmp byte [ebx + 8], 1
jne 0x445202
mov ecx, dword [0x5e90d8]
lea edx, [ebp - 0x19f4]
push edx
mov eax, edx
push eax
push 0xb
call fcn.00488ed0
mov ecx, dword [0x5e90d8]
push 0
push 1
push 0xb
call fcn.00488d70
mov ecx, dword [ebp - 0x1a94]
dec ecx
mov edx, 0x270d
cmp cx, dx
ja 0x44547a
mov eax, dword [0x56895c]
fld dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1bd8]
fld dword [esi + eax + 0xbc]
mov eax, dword [ebp - 0x1bd8]
fstp dword [ebp - 0x1bd4]
mov ecx, dword [ebp - 0x1bd4]
fld dword [0x4e4820]
mov dword [ebp - 0x1934], eax
fstp dword [ebp - 0x1bd0]
mov edx, dword [ebp - 0x1bd0]
lea eax, [ebp - 0x1934]
mov dword [ebp - 0x1930], ecx
mov ecx, dword [0x53b1ec]
push eax
mov dword [ebp - 0x192c], edx
call fcn.0048d3d0
fstp dword [ebp - 0x1a90]
movzx edi, word [ebp - 0x1a94]
mov eax, dword [0x56895c]
imul edi, edi, 0x108c
fld dword [edi + eax + 0xb8]
fstp dword [ebp - 0x1b30]
mov ecx, dword [ebp - 0x1b30]
fld dword [edi + eax + 0xbc]
mov dword [ebp - 0x1934], ecx
fstp dword [ebp - 0x1b2c]
mov edx, dword [ebp - 0x1b2c]
fld dword [0x4e4820]
lea ecx, [ebp - 0x1934]
fstp dword [ebp - 0x1b28]
mov eax, dword [ebp - 0x1b28]
push ecx
mov ecx, dword [0x53b1ec]
mov dword [ebp - 0x1930], edx
mov dword [ebp - 0x192c], eax
call fcn.0048d3d0
fstp dword [ebp - 0x1a8c]
movzx edx, word [ebx + 6]
fld dword [ebp - 0x1a8c]
fld qword [0x4e5df0]
mov eax, dword [0x56895c]
fld st(0)
lea ecx, [ebx + 0x14]
fsubrp st(2)
push ecx
mov ecx, dword [ebp - 0x1a98]
fxch st(1)
push edx
push ecx
mov ecx, dword [ebp - 0x1a84]
lea edx, [ebx + 8]
fstp dword [ebp - 0x1a84]
push edx
fld dword [ebp - 0x1a84]
push ecx
sub esp, 0x18
fstp dword [esp + 0x14]
fld dword [edi + eax + 0xbc]
fstp dword [esp + 0x10]
fld dword [edi + eax + 0xb8]
fstp dword [esp + 0xc]
fsub dword [ebp - 0x1a90]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fstp dword [esp + 8]
fld dword [esi + eax + 0xbc]
fstp dword [esp + 4]
fld dword [esi + eax + 0xb8]
fstp dword [esp]
call fcn.004071f0
xor edx, edx
add esp, 0x2c
mov dword [ebp - 0x1a90], 0
cmp dx, word [ebx + 6]
jae 0x44541c
mov edx, dword [ebp - 0x1a90]
lea esp, [esp]
movzx eax, dx
movzx ecx, word [ebx + eax*8 + 0x14]
test cx, cx
je 0x44540f
movzx eax, word [ebx + eax*8 + 0x16]
test ax, ax
je 0x44540f
push ecx
mov dword [ebp - 0x1a84], eax
call fcn.00406270
mov edx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov ecx, dword [eax + edx + 0x1c8]
add esp, 4
cmp ecx, dword [ebp - 0x1a84]
jbe 0x4453f3
sub ecx, dword [ebp - 0x1a84]
mov dword [eax + edx + 0x1c8], ecx
jmp 0x4453fe
mov dword [eax + edx + 0x1c8], 0
mov ecx, dword [0x56895c]
mov edx, dword [ebp - 0x1a90]
mov byte [eax + ecx + 0x10], 1
inc edx
mov dword [ebp - 0x1a90], edx
cmp dx, word [ebx + 6]
jb 0x4453a0
mov eax, dword [0x56895c]
fld dword [edi + eax + 0xbc]
sub esp, 8
fsub dword [esi + eax + 0xbc]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fstp dword [esp + 4]
fld dword [edi + eax + 0xb8]
fsub dword [esi + eax + 0xb8]
fstp dword [ebp - 0x1a84]
fld dword [ebp - 0x1a84]
fstp dword [esp]
call fcn.0047f1a0
mov edx, dword [0x56895c]
mov edi, dword [ebp - 0x1a88]
fstp dword [esi + edx + 0xd4]
add esp, 8
mov ax, word [ebx + 6]
add ax, 2
add ax, ax
add ax, ax
add ax, ax
movzx ecx, ax
add edi, ecx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
push 0x1c
fstp st(1)
fstp st(0)
call fcn.00470960
push 0x1d
call fcn.00470960
push 0x1e
call fcn.00470960
push 0x1f
call fcn.00470960
push 0x1a
call fcn.00470960
push 0x1b
call fcn.00470960
push 0x36
call fcn.00470960
push 0x37
call fcn.00470960
push 0x38
call fcn.00470960
movzx edx, word [ebx + 4]
add esp, 0x24
cmp dword [0x526908], 0x50
mov dword [0x1a82064], edx
jne 0x447ef1
cmp edx, 0x14
jg 0x447ef1
lea eax, [edx + edx*4]
lea ecx, [edi + eax*4 + 4]
cmp ecx, esi
ja 0x447ef1
mov dword [ebp - 0x1a94], 0
test edx, edx
jle 0x445569
xor ecx, ecx
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
mov esi, dword [ebx + ecx + 8]
lea eax, [ebx + ecx + 8]
mov dword [ecx + 0x5ea5f0], esi
mov esi, dword [eax + 4]
lea ecx, [ecx + 0x5ea5f0]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x1a94]
inc eax
movzx ecx, ax
mov dword [ebp - 0x1a94], eax
cmp ecx, edx
jl 0x445522
xor eax, eax
xor esi, esi
mov dword [0x641400], eax
mov dword [0x641404], eax
mov dword [0x641408], eax
mov dword [0x64140c], eax
mov dword [0x641410], eax
mov dword [0x641414], eax
mov dword [0x641418], eax
mov dword [0x64141c], eax
mov dword [0x641420], eax
mov dword [0x641424], eax
mov dword [0x641428], eax
mov dword [0x64142c], eax
mov dword [0x641430], eax
mov dword [0x641434], eax
mov dword [0x641438], eax
mov dword [0x64143c], eax
mov dword [0x641440], eax
mov dword [0x641444], eax
mov dword [0x641448], eax
mov dword [0x64144c], eax
mov dword [0x641450], eax
mov dword [0x641454], eax
mov dword [0x641458], eax
mov dword [0x64145c], eax
mov dword [0x641460], eax
mov dword [0x641464], eax
mov dword [0x641468], eax
mov dword [0x64146c], eax
mov dword [0x641470], eax
mov dword [0x641474], eax
or eax, 0xffffffff
lea ecx, [edx - 8]
mov dword [0x5e94b8], eax
mov dword [0x5e94bc], eax
mov dword [0x5e94c0], eax
mov dword [0x5e94c4], eax
mov dword [0x5e94c8], eax
mov dword [0x5e94cc], eax
mov dword [0x5e94d0], eax
mov dword [0x5e94d4], eax
mov dword [0x5e94d8], eax
mov dword [0x5e94dc], eax
mov dword [0x5e94e0], eax
mov dword [0x5e94e4], eax
mov dword [0x5e94e8], eax
mov dword [0x5e94ec], eax
mov dword [0x5e94f0], eax
mov dword [0x5e94f4], eax
mov dword [0x5e94f8], eax
mov dword [0x5e94fc], eax
mov dword [0x5e9500], eax
mov dword [0x5e9504], eax
mov dword [0x5e9508], eax
mov dword [0x5e950c], eax
mov dword [0x5e9510], eax
mov dword [0x5e9514], eax
mov dword [0x5e9518], eax
mov dword [0x5e951c], eax
mov dword [0x5e9520], eax
mov dword [0x5e9524], eax
mov dword [0x5e9528], eax
mov dword [0x5e952c], eax
mov byte [0x6a58fa], 0
mov dword [0x6a5904], esi
mov dword [0x6a5908], ecx
mov dword [0x6a58fc], esi
cmp edx, 8
jle 0x4456d1
fild dword [0x1a82064]
fsub qword [0x4e5e68]
fidiv dword [0x6a5900]
jmp 0x4456d3
fldz
fstp dword [0x6a590c]
push 0x1c
fild dword [0x6a5920]
mov byte [0x6a591a], 0
mov dword [0x6a5924], esi
mov dword [0x6a5928], 0xc
fdivr qword [0x4e5de8]
mov dword [0x6a591c], esi
fstp dword [0x6a592c]
call fcn.00470df0
push 0x1d
call fcn.00470df0
mov eax, dword [0x1a82064]
lea edx, [eax + eax*4]
add esp, 8
mov dword [0x633cfc], esi
lea edi, [edi + edx*4 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
push 0x1c
fstp st(1)
fstp st(0)
call fcn.00470960
push 0x1d
call fcn.00470960
push 0x1e
call fcn.00470960
push 0x1f
call fcn.00470960
push 0x1a
call fcn.00470960
push 0x1b
call fcn.00470960
push 0x36
call fcn.00470960
push 0x37
call fcn.00470960
push 0x38
call fcn.00470960
movzx edx, word [ebx + 4]
add esp, 0x24
cmp dword [0x526908], 0x50
mov dword [0x1a82064], edx
jne 0x447ef1
cmp edx, 0x1e
jg 0x447ef1
lea eax, [edx + edx*4]
lea ecx, [edi + eax*4 + 4]
cmp ecx, esi
ja 0x447ef1
mov dword [ebp - 0x1a94], 0
test edx, edx
jle 0x445807
xor ecx, ecx
lea ecx, [ecx]
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
mov esi, dword [ebx + ecx + 8]
lea eax, [ebx + ecx + 8]
mov dword [ecx + 0x5ea5f0], esi
mov esi, dword [eax + 4]
lea ecx, [ecx + 0x5ea5f0]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x1a94]
inc eax
movzx ecx, ax
mov dword [ebp - 0x1a94], eax
cmp ecx, edx
jl 0x4457c0
xor eax, eax
xor esi, esi
mov dword [0x641400], eax
mov dword [0x641404], eax
mov dword [0x641408], eax
mov dword [0x64140c], eax
mov dword [0x641410], eax
mov dword [0x641414], eax
mov dword [0x641418], eax
mov dword [0x64141c], eax
mov dword [0x641420], eax
mov dword [0x641424], eax
mov dword [0x641428], eax
mov dword [0x64142c], eax
mov dword [0x641430], eax
mov dword [0x641434], eax
mov dword [0x641438], eax
mov dword [0x64143c], eax
mov dword [0x641440], eax
mov dword [0x641444], eax
mov dword [0x641448], eax
mov dword [0x64144c], eax
mov dword [0x641450], eax
mov dword [0x641454], eax
mov dword [0x641458], eax
mov dword [0x64145c], eax
mov dword [0x641460], eax
mov dword [0x641464], eax
mov dword [0x641468], eax
mov dword [0x64146c], eax
mov dword [0x641470], eax
mov dword [0x641474], eax
or eax, 0xffffffff
lea ecx, [edx - 8]
mov dword [0x5e94b8], eax
mov dword [0x5e94bc], eax
mov dword [0x5e94c0], eax
mov dword [0x5e94c4], eax
mov dword [0x5e94c8], eax
mov dword [0x5e94cc], eax
mov dword [0x5e94d0], eax
mov dword [0x5e94d4], eax
mov dword [0x5e94d8], eax
mov dword [0x5e94dc], eax
mov dword [0x5e94e0], eax
mov dword [0x5e94e4], eax
mov dword [0x5e94e8], eax
mov dword [0x5e94ec], eax
mov dword [0x5e94f0], eax
mov dword [0x5e94f4], eax
mov dword [0x5e94f8], eax
mov dword [0x5e94fc], eax
mov dword [0x5e9500], eax
mov dword [0x5e9504], eax
mov dword [0x5e9508], eax
mov dword [0x5e950c], eax
mov dword [0x5e9510], eax
mov dword [0x5e9514], eax
mov dword [0x5e9518], eax
mov dword [0x5e951c], eax
mov dword [0x5e9520], eax
mov dword [0x5e9524], eax
mov dword [0x5e9528], eax
mov dword [0x5e952c], eax
mov byte [0x6a593a], 0
mov dword [0x6a5944], esi
mov dword [0x6a5948], ecx
mov dword [0x6a593c], esi
cmp edx, 8
jle 0x44596f
fild dword [0x1a82064]
fsub qword [0x4e5e68]
fidiv dword [0x6a5940]
jmp 0x445971
fldz
fstp dword [0x6a594c]
push 0x1e
fild dword [0x6a5960]
mov byte [0x6a595a], 0
mov dword [0x6a5964], esi
mov dword [0x6a5968], 0xc
fdivr qword [0x4e5de8]
mov dword [0x6a595c], esi
fstp dword [0x6a596c]
call fcn.00470df0
push 0x1f
jmp 0x445711
movzx esi, word [ebx + 4]
fstp st(2)
mov dword [0x1a82064], esi
fstp st(1)
movzx eax, word [ebx + 6]
fstp st(0)
push eax
mov dword [0x1a82f60], eax
call fcn.00406270
movzx eax, ax
add esp, 4
cmp dword [0x526908], 0x50
mov dword [0x6a5554], eax
jne 0x447ef1
cmp esi, 0x14
jg 0x447ef1
lea ecx, [esi + esi*4]
lea edx, [edi + ecx*4 + 4]
cmp edx, dword [ebp + 0xc]
ja 0x447ef1
mov ecx, 0x270f
cmp word [0x5f375c], cx
jae 0x445c7c
lea edx, [eax - 1]
cmp edx, 0x270d
ja 0x445c7c
mov ecx, dword [0x56895c]
imul eax, eax, 0x108c
cmp byte [eax + ecx + 3], 0
je 0x445c7c
xor eax, eax
push 0xf0
mov dword [0x641400], eax
mov dword [0x641404], eax
mov dword [0x641408], eax
mov dword [0x64140c], eax
mov dword [0x641410], eax
mov dword [0x641414], eax
mov dword [0x641418], eax
mov dword [0x64141c], eax
mov dword [0x641420], eax
mov dword [0x641424], eax
mov dword [0x641428], eax
mov dword [0x64142c], eax
mov dword [0x641430], eax
mov dword [0x641434], eax
mov dword [0x641438], eax
mov dword [0x64143c], eax
mov dword [0x641440], eax
mov dword [0x641444], eax
mov dword [0x641448], eax
mov dword [0x64144c], eax
mov dword [0x641450], eax
mov dword [0x641454], eax
mov dword [0x641458], eax
mov dword [0x64145c], eax
mov dword [0x641460], eax
mov dword [0x641464], eax
mov dword [0x641468], eax
mov dword [0x64146c], eax
mov dword [0x641470], eax
mov dword [0x641474], eax
or eax, 0xffffffff
push 0
push 0x5ea5f0
mov dword [0x5e94b8], eax
mov dword [0x5e94bc], eax
mov dword [0x5e94c0], eax
mov dword [0x5e94c4], eax
mov dword [0x5e94c8], eax
mov dword [0x5e94cc], eax
mov dword [0x5e94d0], eax
mov dword [0x5e94d4], eax
mov dword [0x5e94d8], eax
mov dword [0x5e94dc], eax
mov dword [0x5e94e0], eax
mov dword [0x5e94e4], eax
mov dword [0x5e94e8], eax
mov dword [0x5e94ec], eax
mov dword [0x5e94f0], eax
mov dword [0x5e94f4], eax
mov dword [0x5e94f8], eax
mov dword [0x5e94fc], eax
mov dword [0x5e9500], eax
mov dword [0x5e9504], eax
mov dword [0x5e9508], eax
mov dword [0x5e950c], eax
mov dword [0x5e9510], eax
mov dword [0x5e9514], eax
mov dword [0x5e9518], eax
mov dword [0x5e951c], eax
mov dword [0x5e9520], eax
mov dword [0x5e9524], eax
mov dword [0x5e9528], eax
mov dword [0x5e952c], eax
call fcn.004cce10
add esp, 0xc
xor edx, edx
test esi, esi
jle 0x445bd1
xor ecx, ecx
lea esp, [esp]
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
mov edi, dword [ebx + ecx + 8]
lea eax, [ebx + ecx + 8]
mov dword [ecx + 0x5ea5f0], edi
mov edi, dword [eax + 4]
lea ecx, [ecx + 0x5ea5f0]
mov dword [ecx + 4], edi
mov edi, dword [eax + 8]
mov dword [ecx + 8], edi
mov edi, dword [eax + 0xc]
mov dword [ecx + 0xc], edi
mov eax, dword [eax + 0x10]
inc edx
mov dword [ecx + 0x10], eax
movzx ecx, dx
cmp ecx, esi
jl 0x445b90
mov edi, dword [ebp - 0x1a88]
add esi, 0xfffffff8
mov dword [0x6a5c68], esi
fild dword [0x6a5c68]
xor ebx, ebx
push 0x1c
fidiv dword [0x6a5c60]
mov byte [0x6a5c5a], bl
mov dword [0x6a5c64], ebx
mov dword [0x6a5c5c], ebx
mov byte [0x6a5c7a], bl
mov dword [0x6a5c84], ebx
mov dword [0x6a5c88], 0xc
mov dword [0x6a5c7c], ebx
fstp dword [0x6a5c6c]
fild dword [0x6a5c80]
fdivr qword [0x4e5de8]
fstp dword [0x6a5c8c]
call fcn.00470960
push 0x1d
call fcn.00470960
push 0x1e
call fcn.00470960
push 0x1f
call fcn.00470960
push 0x1a
call fcn.00470960
push 0x1b
call fcn.00470960
push 0x36
call fcn.00470960
push 0x37
call fcn.00470df0
push 0x38
call fcn.00470df0
mov esi, dword [0x1a82064]
add esp, 0x24
mov dword [0x633cfc], ebx
lea ecx, [esi + esi*4]
lea edi, [edi + ecx*4 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
cmp edi, esi
ja 0x447ef1
fild dword [0x51e3f0]
mov dx, word [ebx + 6]
mov word [0x6a30b0], dx
fmul dword [0x526844]
call fcn.004ccd60
fild dword [0x51e3f4]
mov dword [0x6a5990], eax
fmul dword [0x525374]
call fcn.004ccd60
push 0x20
mov dword [0x6a5994], eax
call fcn.00470df0
mov eax, dword [0x526800]
mov ecx, dword [0x5256e8]
add esp, 4
shl eax, 0x10
add eax, dword [0x526728]
push eax
push 0
push 0x200
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 4
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x44572b
dec eax
mov edx, 0x270d
cmp ax, dx
ja 0x44572b
movzx eax, word [ebx + 6]
cmp eax, dword [0x1a38398]
ja 0x44572b
push 0x200
lea ecx, [ebp - 0x1704]
push 0
push ecx
call fcn.004cce10
movzx eax, word [ebx + 6]
add eax, eax
mov edx, dword [eax + eax + 0x633dc0]
add eax, eax
mov eax, dword [eax + 0x53bde8]
push edx
push eax
lea ecx, [ebp - 0x1704]
push ecx
call fcn.004cd640
movzx eax, word [ebx + 4]
lea edx, [ebp - 0x1704]
push edx
push 0
push eax
push 0xc
call fcn.0040f240
add esp, 0x28
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0x10
cmp edi, esi
ja 0x447ef1
mov ecx, dword [ebx + 4]
fild dword [0x51e448]
mov dword [0x6a3890], ecx
movzx edx, word [ebx + 8]
fmul dword [0x526844]
mov word [0x6a30b0], dx
movzx eax, word [ebx + 0xa]
mov word [0x6a64b0], ax
movzx ecx, word [ebx + 0xc]
mov word [0x6a64b2], cx
movzx edx, word [ebx + 0xe]
mov word [0x6a64b4], dx
movzx eax, word [ebx + 0x10]
mov word [0x6a64b6], ax
movzx ecx, word [ebx + 0x12]
mov word [0x6a64b8], cx
call fcn.004ccd60
mov dword [0x6a59b0], eax
fild dword [0x51e44c]
fmul dword [0x525374]
call fcn.004ccd60
push 0x21
mov dword [0x6a59b4], eax
call fcn.00470df0
mov edx, dword [0x526800]
mov eax, dword [0x5256e8]
add esp, 4
shl edx, 0x10
add edx, dword [0x526728]
push edx
push 0
push 0x200
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
movzx ecx, word [ebx + 0xa]
lea edx, [ecx + edi + 8]
cmp edx, esi
ja 0x447ef1
push 0x200
push 0
push 0x5f2da0
call fcn.004cce10
movzx eax, word [ebx + 0xa]
push eax
mov dword [0x631e3c], eax
lea eax, [ebx + 0xc]
push eax
push 0x5f2da0
call fcn.004cd640
mov cx, word [ebx + 6]
fild dword [str.ss]
mov word [0x6a64b0], cx
mov dx, word [ebx + 8]
mov word [0x6a64b2], dx
fmul dword [0x526844]
call fcn.004ccd60
fild dword [0x51e4a4]
mov dword [0x6a59d0], eax
fmul dword [0x525374]
call fcn.004ccd60
push 0x22
mov dword [0x6a59d4], eax
call fcn.00470df0
mov eax, dword [0x526800]
mov ecx, dword [0x5256e8]
add esp, 0x1c
shl eax, 0x10
add eax, dword [0x526728]
push eax
push 0
push 0x200
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
movzx edx, word [ebx + 0xa]
lea edi, [edi + edx + 8]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov eax, dword [0x5f3758]
fstp st(2)
mov dword [eax], 1
fstp st(1)
mov ecx, dword [0x5f3758]
fstp st(0)
push 4
push ecx
call fcn.0047b750
add esp, 8
xor eax, eax
mov dword [0x6a4154], eax
mov dword [0x41ebcf4], eax
jmp 0x43c78f
fstp st(2)
push 0x19
fstp st(1)
mov dword [0x1a82000], 1
fstp st(0)
call fcn.00470df0
add esp, 4
jmp 0x43c78f
fstp st(2)
add edi, 0x184
fstp st(1)
mov dword [ebp - 0x1a98], edi
fstp st(0)
cmp edi, esi
ja 0x447ef1
cmp byte [ebx + 4], 0
jne 0x4460d7
xor edi, edi
cmp byte [0x643e00], 0
je 0x4460ae
xor esi, esi
cmp dword [0x643e04], edi
jle 0x4460ae
xor eax, eax
lea edx, [eax + eax*8]
movzx eax, word [edx*4 + 0x643e22]
push eax
call fcn.00406270
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
cmp cx, dx
ja 0x44609e
cmp ax, word [0x5f375c]
je 0x44609e
mov ecx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov dword [eax + ecx + 0x1c8], edi
mov edx, dword [0x56895c]
mov dword [eax + edx + 0x1cc], edi
mov edx, dword [0x56895c]
xor ecx, ecx
mov word [eax + edx + 0x1d0], cx
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d2], cx
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d4], cx
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d6], cx
mov ecx, dword [0x56895c]
mov byte [eax + ecx + 0x10], 0
inc esi
movzx eax, si
cmp eax, dword [0x643e04]
jl 0x446001
mov ecx, dword [0x5e9f48]
call fcn.00489db0
push 0x200
push edi
push 0x643e00
mov dword [0x539ddc], edi
call fcn.004cce10
add esp, 0xc
jmp 0x4463a2
cmp byte [0x643e00], 0
je 0x4461a9
xor edi, edi
xor esi, esi
cmp dword [0x643e04], edi
jle 0x4461a9
xor eax, eax
jmp 0x446100
lea edx, [eax + eax*8]
movzx eax, word [edx*4 + 0x643e22]
push eax
call fcn.00406270
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
cmp cx, dx
ja 0x446199
cmp ax, word [0x5f375c]
je 0x446199
mov ecx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov dword [eax + ecx + 0x1c8], edi
mov edx, dword [0x56895c]
mov dword [eax + edx + 0x1cc], edi
mov edx, dword [0x56895c]
xor ecx, ecx
mov word [eax + edx + 0x1d0], cx
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d2], cx
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d4], cx
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d6], cx
mov ecx, dword [0x56895c]
mov byte [eax + ecx + 0x10], 0
inc esi
movzx eax, si
cmp eax, dword [0x643e04]
jl 0x446100
mov byte [0x643e00], 1
mov dl, byte [ebx + 5]
mov byte [0x643e01], dl
mov al, byte [ebx + 6]
mov byte [0x643e02], al
mov cl, byte [ebx + 7]
mov byte [0x643e03], cl
movzx edx, byte [ebx + 4]
mov dword [0x643e04], edx
mov eax, dword [ebx + 8]
mov dword [0x643e08], eax
mov ecx, dword [ebx + 0xc]
mov dword [0x643e0c], ecx
mov edx, dword [ebx + 0x10]
mov dword [0x643e10], edx
mov eax, dword [ebx + 0x14]
mov dword [0x643e14], eax
mov ecx, dword [ebx + 0x18]
mov dword [0x643e18], ecx
mov edx, dword [ebx + 0x1c]
mov ecx, dword [0x5e9f48]
mov dword [0x643e1c], edx
call fcn.00489db0
mov ecx, dword [0x5e9f48]
push 0x643e08
call fcn.0048a180
add ebx, 0x20
mov dword [ebp - 0x1a90], 0x643e20
mov dword [ebp - 0x1a84], ebx
mov ebx, dword [ebp - 0x1a90]
mov dword [ebp - 0x1a8c], 0x643f88
mov dword [ebp - 0x1a94], 0xa
mov esi, dword [ebp - 0x1a84]
mov eax, dword [ebp - 0x1a8c]
mov ecx, 9
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [eax], 0
cmp byte [ebx], 0
je 0x446385
cmp byte [ebx + 1], 0
je 0x446385
movzx ecx, word [ebx + 0x12]
cmp ecx, dword [0x1a2e664]
jne 0x446385
mov dword [eax], 1
movzx edx, word [ebx + 0x14]
mov dword [ebp - 0x1a90], edx
mov edx, dword [0x53b9dc]
fild dword [ebp - 0x1a90]
fld dword [0x41ec2e8]
fld st(0)
fmulp st(2)
fld dword [0x568954]
faddp st(2)
fxch st(1)
fstp dword [eax + 4]
movzx ecx, word [ebx + 0x16]
sub edx, ecx
mov dword [ebp - 0x1a90], edx
fild dword [ebp - 0x1a90]
jns 0x4462db
fadd dword [0x4e4558]
fmulp st(1)
fadd dword [0x5e94ac]
fstp dword [eax + 8]
movzx eax, word [ebx + 2]
push eax
call fcn.00406270
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
cmp cx, dx
ja 0x446385
movzx ecx, word [ebx + 0x18]
mov edx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov dword [eax + edx + 0x1c8], ecx
movzx ecx, word [ebx + 0x1a]
mov edx, dword [0x56895c]
mov dword [eax + edx + 0x1cc], ecx
movzx ecx, word [ebx + 0x1c]
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d0], cx
movzx ecx, word [ebx + 0x1e]
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d2], cx
movzx ecx, word [ebx + 0x20]
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d4], cx
movzx ecx, word [ebx + 0x22]
mov edx, dword [0x56895c]
mov word [eax + edx + 0x1d6], cx
mov ecx, dword [0x56895c]
mov byte [eax + ecx + 0x10], 1
add dword [ebp - 0x1a8c], 0xc
add dword [ebp - 0x1a84], 0x24
add ebx, 0x24
dec dword [ebp - 0x1a94]
jne 0x446250
cmp byte [0x643e00], 0
mov ecx, dword [0x1a82000]
mov eax, dword [0x643e04]
je 0x446471
movzx edx, word [0x1a82f70]
cmp edx, eax
je 0x446445
mov dx, ax
mov word [0x1a82f70], dx
cmp ecx, 1
jne 0x44649b
xor ecx, ecx
lea edx, [eax - 9]
mov byte [0x6a589a], 0
mov dword [0x6a58a4], ecx
mov dword [0x6a58a8], edx
mov dword [0x6a589c], ecx
cmp eax, 9
jle 0x44642a
fild dword [0x643e04]
mov ecx, dword [ebp - 0x1a98]
mov dword [ebp - 0x1a88], ecx
mov edi, ecx
fsub qword [0x4e5df8]
fidiv dword [0x6a58a0]
fstp dword [0x6a58ac]
jmp 0x43c78f
fldz
mov ecx, dword [ebp - 0x1a98]
fstp dword [0x6a58ac]
mov dword [ebp - 0x1a88], ecx
mov edi, ecx
jmp 0x43c78f
mov ecx, dword [0x1a3ba00]
cmp ecx, 0xffffffff
jle 0x44649b
cmp ecx, eax
jl 0x44649b
mov ecx, dword [ebp - 0x1a98]
mov dword [0x1a3ba00], 0xffffffff
mov dword [ebp - 0x1a88], ecx
mov edi, ecx
jmp 0x43c78f
mov dword [0x1a3ba00], 0xffffffff
cmp ecx, 1
jne 0x446493
xor eax, eax
mov byte [0x6a589a], 0
mov dword [0x6a58a4], eax
mov dword [0x6a589c], eax
xor eax, eax
mov word [0x1a82f70], ax
mov ecx, dword [ebp - 0x1a98]
mov dword [ebp - 0x1a88], ecx
mov edi, ecx
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov edx, dword [ebx + 4]
mov dword [0x1a38330], edx
mov eax, dword [ebx + 8]
mov dword [0x1a38334], eax
mov ecx, dword [ebx + 0xc]
push 0x26
mov dword [0x1a38338], ecx
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec5ec]
lea ecx, [ebp - 0xc04]
push edx
push ecx
call fcn.004cce8a
lea edx, [ebp - 0xc04]
push 0
push edx
call fcn.0040d780
push 0x26
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
add edi, 0x2f0
fstp st(2)
add ebx, 4
mov dword [ebp - 0x1a90], edi
cmp edi, esi
ja 0x447f51
movzx eax, word [ebx]
xor esi, esi
cmp ax, si
jbe 0x4466d6
mov word [0x1a3bbd0], ax
mov al, byte [ebx + 2]
mov byte [0x1a3bbd2], al
mov cl, byte [ebx + 3]
mov byte [0x1a3bbd3], cl
mov edx, dword [ebx + 4]
mov dword [0x1a3bbd4], edx
mov eax, dword [ebx + 8]
mov dword [0x1a3bbb8], eax
mov ecx, dword [ebx + 0xc]
mov dword [0x1a3bbbc], ecx
mov edx, dword [ebx + 0x10]
mov dword [0x1a3bbc0], edx
mov eax, dword [ebx + 0x14]
mov dword [0x1a3bbc4], eax
mov ecx, dword [ebx + 0x18]
mov dword [0x1a3bbc8], ecx
mov edx, dword [ebx + 0x1c]
mov dword [0x1a3bbcc], edx
mov edx, 0x1a3bbba
sub edx, ebx
mov dword [ebp - 0x1a8c], edx
mov esi, 0x1a3bbb8
mov edi, 0x1a3bbb9
mov edx, 0x1a3bbc3
sub esi, ebx
sub edi, ebx
sub edx, ebx
mov ecx, 0x1a3bbd8
lea eax, [ebx + 0x21]
mov dword [ebp - 0x1a94], edx
mov dword [ebp - 0x1a84], 0x1e
movzx edx, byte [eax - 1]
mov ebx, dword [ebp - 0x1a8c]
mov byte [ecx], dl
movzx edx, byte [eax]
mov byte [esi + eax], dl
movzx edx, byte [eax + 1]
mov byte [edi + eax], dl
movzx edx, byte [eax + 2]
mov byte [ebx + eax], dl
mov ebx, dword [eax + 0xb]
mov edx, dword [ebp - 0x1a94]
mov dword [edx + eax], ebx
mov ebx, dword [eax + 0xf]
mov dword [edx + eax + 4], ebx
mov ebx, dword [eax + 0x13]
mov dword [edx + eax + 8], ebx
add ecx, 0x18
add eax, 0x18
dec dword [ebp - 0x1a84]
jne 0x4465f9
mov ax, word [0x1a3bbd0]
cmp word [0x633c80], ax
je 0x4466a9
movzx ecx, ax
xor edx, edx
mov dword [ebp - 0x1a84], ecx
add ecx, 0xfffffff8
mov word [0x633c80], ax
mov byte [0x6a589a], 0
mov dword [0x6a58a4], edx
mov dword [0x6a58a8], ecx
mov dword [0x6a589c], edx
cmp ax, 8
jbe 0x44669c
fstp st(0)
fisubr dword [ebp - 0x1a84]
fidiv dword [0x6a58a0]
fstp dword [0x6a58ac]
jmp 0x4467dc
fstp st(1)
fstp dword [0x6a58ac]
jmp 0x4467dc
mov ecx, dword [0x41ec0a0]
fstp st(1)
fstp st(0)
cmp ecx, 0xffffffff
jle 0x4467dc
movzx eax, ax
cmp ecx, eax
jl 0x4467dc
mov dword [0x41ec0a0], 0xffffffff
jmp 0x4467dc
push 0x458
fstp st(1)
push esi
fstp st(0)
push 0x1a3bbb8
call fcn.004cce10
fld1
movzx ecx, word [0x5f375c]
mov edx, dword [0x56895c]
imul ecx, ecx, 0x108c
lea ecx, [ecx + edx + 0x5c]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
movzx eax, word [0x5f375c]
mov ecx, dword [0x56895c]
imul eax, eax, 0x108c
mov dword [eax + ecx + 0x58], esi
movzx edx, word [0x5f375c]
mov eax, dword [0x56895c]
imul edx, edx, 0x108c
mov byte [edx + eax + 0x12], 0
movzx ecx, word [0x5f375c]
mov edx, dword [0x56895c]
imul ecx, ecx, 0x108c
add esp, 0xc
fst dword [ecx + edx + 0xf80]
movzx eax, word [0x5f375c]
mov ecx, dword [0x56895c]
imul eax, eax, 0x108c
fst dword [eax + ecx + 0xf88]
movzx edx, word [0x5f375c]
mov eax, dword [0x56895c]
imul edx, edx, 0x108c
fst dword [edx + eax + 0xf84]
movzx ecx, word [0x5f375c]
mov edx, dword [0x56895c]
imul ecx, ecx, 0x108c
fstp dword [ecx + edx + 0xf8c]
cmp dword [0x1a82000], 2
mov dword [0x41ec0a0], 0xffffffff
jne 0x4467d4
mov byte [0x6a589a], 0
mov dword [0x6a58a4], esi
mov dword [0x6a589c], esi
xor eax, eax
mov word [0x633c80], ax
cmp byte [0x1a3bbd2], 0
je 0x4467fe
cmp dword [0x41ec240], 0
je 0x4467fe
mov ecx, dword [0x41ec240]
push str.ac17_leader
call fcn.0046d280
mov edi, dword [ebp - 0x1a90]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 0x490
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
lea esi, [ebx + 0x14]
push esi
call fcn.00404a60
add esp, 4
cmp dword [ebx + 0x10], eax
jne 0x446862
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
push esi
push ecx
push edx
call fcn.00404c00
add esp, 0xc
test eax, eax
je 0x446862
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push esi
push eax
mov eax, dword [ebx + 4]
push ecx
push edx
push eax
call fcn.00404ca0
add esp, 0x14
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [0x6a5dbc]
jne 0x44572b
xor eax, eax
mov dword [0x6a5dbc], eax
mov dword [0x6a42b0], eax
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
add edi, 0x168
fstp st(2)
add ebx, 4
mov dword [ebp - 0x1a90], edi
cmp edi, esi
ja 0x447f51
fld dword [0x568954]
mov esi, 0x1a3bea6
fld dword [0x41ec2e8]
mov edi, 0x1a3beaa
fld dword [0x5e94ac]
mov edx, 0x1a3beae
sub esi, ebx
sub edi, ebx
sub edx, ebx
mov ecx, 0x1a3bbda
lea eax, [ebx + 2]
mov dword [ebp - 0x1a94], edx
mov dword [ebp - 0x1a84], 0x1e
movzx edx, byte [eax - 2]
mov byte [ecx - 2], dl
movzx edx, byte [eax - 1]
mov byte [ecx - 1], dl
movzx edx, word [eax]
mov word [ecx + 2], dx
movzx edx, byte [eax + 2]
mov byte [ecx], dl
movzx edx, byte [eax + 3]
mov byte [ecx + 1], dl
movzx edx, word [eax + 4]
mov word [ecx + 4], dx
movzx edx, word [eax + 6]
mov word [ecx + 6], dx
movzx edx, word [eax + 8]
mov word [ecx + 8], dx
mov dword [esi + eax], 0
cmp byte [ecx - 2], 0
je 0x446984
cmp byte [ecx - 1], 0
je 0x446984
movzx edx, word [ecx + 4]
cmp edx, dword [0x1a2e664]
jne 0x446984
mov ebx, dword [0x53b9dc]
mov dword [esi + eax], 1
movzx edx, word [ecx + 6]
mov dword [ebp - 0x1a8c], edx
fild dword [ebp - 0x1a8c]
fmul st(2)
fadd st(3)
fstp dword [edi + eax]
movzx edx, word [ecx + 8]
sub ebx, edx
mov dword [ebp - 0x1a8c], ebx
fild dword [ebp - 0x1a8c]
jns 0x446977
fadd dword [0x4e4558]
mov edx, dword [ebp - 0x1a94]
fmul st(2)
fadd st(1)
fstp dword [edx + eax]
add ecx, 0x18
add eax, 0xc
dec dword [ebp - 0x1a84]
jne 0x4468e0
mov ax, word [0x1a3bbd0]
fstp st(1)
xor edx, edx
fstp st(1)
fstp st(0)
cmp ax, dx
jbe 0x446a66
cmp word [0x633c80], ax
je 0x446a35
cmp dword [0x1a82000], 2
mov word [0x633c80], ax
jne 0x446aa9
movzx ecx, ax
mov dword [ebp - 0x1a84], ecx
add ecx, 0xfffffff8
mov byte [0x6a589a], dl
mov dword [0x6a58a4], edx
mov dword [0x6a58a8], ecx
mov dword [0x6a589c], edx
cmp ax, 8
jbe 0x446a1c
fstp st(0)
mov edi, dword [ebp - 0x1a90]
fisubr dword [ebp - 0x1a84]
mov dword [ebp - 0x1a88], edi
fidiv dword [0x6a58a0]
fstp dword [0x6a58ac]
jmp 0x43c78f
mov edi, dword [ebp - 0x1a90]
fstp st(1)
fstp dword [0x6a58ac]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov ecx, dword [0x41ec0a0]
fstp st(1)
fstp st(0)
cmp ecx, 0xffffffff
jle 0x446aad
movzx eax, ax
cmp ecx, eax
jl 0x446aad
mov edi, dword [ebp - 0x1a90]
mov dword [0x41ec0a0], 0xffffffff
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x1a82000], 2
fstp st(1)
fstp st(0)
mov dword [0x41ec0a0], 0xffffffff
jne 0x446a8f
mov byte [0x6a589a], dl
mov dword [0x6a58a4], edx
mov dword [0x6a589c], edx
mov edi, dword [ebp - 0x1a90]
xor ecx, ecx
mov word [0x633c80], cx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(1)
fstp st(0)
mov edi, dword [ebp - 0x1a90]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 8
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
cmp word [0x1a3bbd0], 0
jbe 0x44572b
mov dl, byte [ebx + 4]
mov byte [0x1a3bbd3], dl
mov eax, dword [ebx + 8]
mov dword [0x1a3bbd4], eax
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov ecx, dword [ebx + 4]
mov dword [0x640054], ecx
mov edx, dword [ebx + 8]
mov dword [0x640058], edx
mov eax, dword [ebx + 0xc]
push 0x2a
mov dword [0x64005c], eax
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov ecx, dword [0x1a3ba10]
add ecx, dword [0x5ec5ec]
lea eax, [ebp - 0x904]
push ecx
push eax
call fcn.004cce8a
lea ecx, [ebp - 0x904]
push 0
push ecx
call fcn.0040d780
push 0x2a
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
movzx eax, word [ebx + 4]
fstp st(2)
fstp st(1)
cmp eax, 0x14
ja 0x447f53
xor ecx, ecx
xor edx, edx
cmp cx, ax
jae 0x446c02
movzx eax, dx
lea eax, [eax + eax*2]
movzx ecx, byte [ebx + eax*8 + 8]
lea eax, [ebx + eax*8 + 8]
test cx, cx
jne 0x446bc7
mov dword [0x5ebf38], 0
mov esi, dword [eax]
movzx ecx, cx
lea ecx, [ecx + ecx*2]
mov dword [ecx*8 + 0x5ebf3c], esi
mov esi, dword [eax + 4]
lea ecx, [ecx*8 + 0x5ebf3c]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [eax + 0x10]
mov dword [ecx + 0x10], esi
mov eax, dword [eax + 0x14]
inc edx
mov dword [ecx + 0x14], eax
cmp dx, word [ebx + 4]
jb 0x446ba9
movzx eax, word [ebx + 4]
xor edx, edx
cmp ax, dx
jne 0x446c11
xor eax, eax
jmp 0x446c1a
mov ecx, eax
mov eax, dword [0x5ebf38]
add eax, ecx
mov dword [0x5ebf38], eax
cmp word [ebx + 6], dx
jne 0x446cea
cmp eax, edx
jle 0x446cae
cmp dword [0x1a82000], edx
jne 0x446c82
mov byte [0x6a589a], dl
mov dword [0x6a58a4], edx
mov dword [0x6a589c], edx
cmp eax, 0xb
jle 0x446c74
fstp st(0)
add eax, 0xfffffff5
fild dword [0x5ebf38]
mov dword [0x6a58a8], eax
fsub qword [0x4e5de0]
fidiv dword [0x6a58a0]
fstp dword [0x6a58ac]
jmp 0x446c84
fstp dword [0x6a58ac]
mov dword [0x6a58a8], edx
jmp 0x446c84
fstp st(0)
mov ecx, dword [0x41ec240]
cmp ecx, edx
je 0x446cec
push str.ac2_newfriend
call fcn.0046d280
movzx eax, word [ebx + 4]
lea edx, [eax + eax*2]
lea edi, [edi + edx*8 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(0)
mov dword [0x644000], 0xffffffff
cmp dword [0x1a82000], edx
jne 0x446cec
mov byte [0x6a589a], dl
mov dword [0x6a58a4], edx
mov dword [0x6a589c], edx
movzx eax, word [ebx + 4]
lea edx, [eax + eax*2]
lea edi, [edi + edx*8 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(0)
movzx eax, word [ebx + 4]
lea edx, [eax + eax*2]
lea edi, [edi + edx*8 + 4]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov eax, dword [ebx + 4]
mov dword [0x6a5074], eax
mov ecx, dword [ebx + 8]
mov dword [0x6a5078], ecx
mov edx, dword [ebx + 0xc]
push 0x28
mov dword [0x6a507c], edx
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [0x1a3ba10]
add eax, dword [0x5ec5ec]
lea edx, [ebp - 0xa04]
push eax
push edx
call fcn.004cce8a
lea eax, [ebp - 0xa04]
push 0
push eax
call fcn.0040d780
push 0x28
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
fstp st(2)
add edi, 0x7c
fstp st(1)
add ebx, 4
fstp st(0)
mov dword [ebp - 0x1a8c], edi
cmp edi, esi
ja 0x447ef1
movzx eax, word [ebx]
test ax, ax
je 0x446e7b
mov word [0x631d68], ax
mov cx, word [ebx + 2]
mov esi, 0x631d68
mov edi, 0x631d73
mov word [0x631d6a], cx
sub esi, ebx
mov ecx, 0x631d6c
lea eax, [ebx + 5]
sub edi, ebx
mov dword [ebp - 0x1a84], 5
mov edi, edi
movzx edx, byte [eax - 1]
mov byte [ecx], dl
movzx edx, byte [eax]
mov byte [esi + eax], dl
mov edx, dword [eax + 0xb]
mov dword [edi + eax], edx
mov edx, dword [eax + 0xf]
mov dword [edi + eax + 4], edx
mov edx, dword [eax + 0x13]
mov dword [edi + eax + 8], edx
add ecx, 0x18
add eax, 0x18
dec dword [ebp - 0x1a84]
jne 0x446df0
mov ax, word [0x631d68]
cmp word [0x631f60], ax
je 0x446e35
mov word [0x631f60], ax
jmp 0x446e51
mov ecx, dword [0x63ddcc]
cmp ecx, 0xffffffff
jle 0x446e51
movzx eax, ax
cmp ecx, eax
jl 0x446e51
mov dword [0x63ddcc], 0xffffffff
cmp dword [0x41ec240], 0
je 0x446ea2
mov ecx, dword [0x41ec240]
push str.ac4_newfamily
call fcn.0046d280
mov edi, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
push 0xb8
push 0
push 0x631d68
call fcn.004cce10
add esp, 0xc
xor ecx, ecx
mov dword [0x63ddcc], 0xffffffff
mov word [0x631f60], cx
mov edi, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
add edi, 0x3c
fstp st(2)
add ebx, 4
fstp st(1)
mov dword [ebp - 0x1a84], edi
cmp edi, esi
ja 0x447f53
fld dword [0x568954]
mov esi, 0x631de2
fld dword [0x41ec2e8]
mov edi, 0x631de6
fld dword [0x5e94ac]
mov edx, 0x631dea
sub esi, ebx
sub edi, ebx
sub edx, ebx
mov ecx, 0x631d6e
lea eax, [ebx + 2]
mov dword [ebp - 0x1a90], edx
mov dword [ebp - 0x1a8c], 5
movzx edx, byte [eax - 2]
mov byte [ecx - 2], dl
movzx edx, byte [eax - 1]
mov byte [ecx - 1], dl
movzx edx, word [eax]
mov word [ecx + 2], dx
movzx edx, byte [eax + 2]
mov byte [ecx], dl
movzx edx, byte [eax + 3]
mov byte [ecx + 1], dl
movzx edx, word [eax + 4]
mov word [ecx + 4], dx
movzx edx, word [eax + 6]
mov word [ecx + 6], dx
movzx edx, word [eax + 8]
mov word [ecx + 8], dx
mov dword [esi + eax], 0
cmp byte [ecx - 2], 0
je 0x446fb4
cmp byte [ecx - 1], 0
je 0x446fb4
movzx edx, word [ecx + 4]
cmp edx, dword [0x1a2e664]
jne 0x446fb4
mov ebx, dword [0x53b9dc]
fld st(1)
mov dword [esi + eax], 1
movzx edx, word [ecx + 6]
mov dword [ebp - 0x1a94], edx
fild dword [ebp - 0x1a94]
fmulp st(1)
fadd st(3)
fstp dword [edi + eax]
movzx edx, word [ecx + 8]
sub ebx, edx
mov dword [ebp - 0x1a94], ebx
fild dword [ebp - 0x1a94]
jns 0x446fa7
fadd dword [0x4e4558]
mov edx, dword [ebp - 0x1a90]
fmul st(2)
fadd st(1)
fstp dword [edx + eax]
add ecx, 0x18
add eax, 0xc
dec dword [ebp - 0x1a8c]
jne 0x446f0a
mov ax, word [0x631d68]
fstp st(1)
xor ecx, ecx
fstp st(1)
fstp st(0)
cmp ax, cx
jbe 0x44705b
cmp word [0x631f60], ax
je 0x447028
cmp dword [0x1a82000], 3
mov word [0x631f60], ax
jne 0x44709c
mov edi, dword [ebp - 0x1a84]
fstp dword [0x6a58ac]
mov byte [0x6a589a], cl
mov dword [0x6a58a4], ecx
mov dword [0x6a58a8], ecx
mov dword [0x6a589c], ecx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov ecx, dword [0x63ddcc]
fstp st(0)
cmp ecx, 0xffffffff
jle 0x44709e
movzx eax, ax
cmp ecx, eax
jl 0x44709e
mov edi, dword [ebp - 0x1a84]
mov dword [0x63ddcc], 0xffffffff
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x1a82000], 3
fstp st(0)
mov dword [0x63ddcc], 0xffffffff
jne 0x447082
mov byte [0x6a589a], cl
mov dword [0x6a58a4], ecx
mov dword [0x6a589c], ecx
mov edi, dword [ebp - 0x1a84]
xor ecx, ecx
mov word [0x631f60], cx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(0)
mov edi, dword [ebp - 0x1a84]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov edx, dword [ebx + 4]
mov dword [0x6a5074], edx
mov eax, dword [ebx + 8]
mov dword [0x6a5078], eax
mov ecx, dword [ebx + 0xc]
push 0x29
mov dword [0x6a507c], ecx
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec5ec]
lea ecx, [ebp - 0xb04]
push edx
push ecx
call fcn.004cce8a
lea edx, [ebp - 0xb04]
push 0
push edx
call fcn.0040d780
push 0x29
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov eax, dword [ebx + 4]
mov dword [0x41ec2ec], eax
mov ecx, dword [ebx + 8]
mov dword [0x41ec2f0], ecx
mov edx, dword [ebx + 0xc]
push 0x25
mov dword [0x41ec2f4], edx
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [0x1a3ba10]
add eax, dword [0x5ec5ec]
lea edx, [ebp - 0xd04]
push eax
push edx
call fcn.004cce8a
lea eax, [ebp - 0xd04]
push 0
push eax
call fcn.0040d780
push 0x25
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
fstp st(2)
add edi, 0xa0
fstp st(1)
mov dword [ebp - 0x1a94], edi
fstp st(0)
cmp edi, esi
ja 0x447ef1
xor edi, edi
xor esi, esi
cmp dword [0x643e04], edi
jle 0x447277
xor eax, eax
jmp 0x447210
lea ecx, [eax + eax*8]
movzx edx, word [ecx*4 + 0x643e22]
push edx
call fcn.00406270
movzx eax, ax
lea ecx, [eax - 1]
mov edx, 0x270d
add esp, 4
cmp cx, dx
ja 0x44726b
cmp ax, word [0x5f375c]
je 0x44726b
mov ecx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov dword [eax + ecx + 0x1c8], edi
mov edx, dword [0x56895c]
mov dword [eax + edx + 0x1cc], edi
mov ecx, dword [0x56895c]
mov byte [eax + ecx + 0x10], 0
inc esi
movzx eax, si
cmp eax, dword [0x643e04]
jl 0x447210
mov edi, 0x643f88
mov esi, 0x643e20
add ebx, 6
mov dword [ebp - 0x1a84], 0xa
mov edi, edi
movzx edx, byte [ebx - 2]
mov byte [esi], dl
movzx eax, byte [ebx - 1]
mov byte [esi + 1], al
movzx ecx, word [ebx]
mov word [esi + 2], cx
movzx edx, byte [ebx + 2]
mov byte [esi + 0x10], dl
movzx eax, byte [ebx + 3]
mov byte [esi + 0x11], al
movzx ecx, word [ebx + 4]
mov word [esi + 0x12], cx
movzx edx, word [ebx + 6]
mov word [esi + 0x14], dx
mov ax, word [ebx + 8]
mov word [esi + 0x16], ax
movzx ecx, word [ebx + 0xa]
mov word [esi + 0x18], cx
movzx edx, word [ebx + 0xc]
mov word [esi + 0x1a], dx
mov dword [edi], 0
cmp byte [esi], 0
je 0x4473ad
cmp byte [esi + 1], 0
je 0x4473ad
movzx eax, word [esi + 0x12]
cmp eax, dword [0x1a2e664]
jne 0x4473ad
mov eax, dword [0x53b9dc]
mov dword [edi], 1
movzx ecx, word [esi + 0x14]
mov dword [ebp - 0x1a8c], ecx
fild dword [ebp - 0x1a8c]
fld dword [0x41ec2e8]
fld st(0)
fmulp st(2)
fld dword [0x568954]
faddp st(2)
fxch st(1)
fstp dword [edi + 4]
movzx edx, word [esi + 0x16]
sub eax, edx
mov dword [ebp - 0x1a8c], eax
fild dword [ebp - 0x1a8c]
jns 0x44734f
fadd dword [0x4e4558]
fmulp st(1)
fadd dword [0x5e94ac]
fstp dword [edi + 8]
movzx ecx, word [esi + 2]
push ecx
call fcn.00406270
movzx eax, ax
lea edx, [eax - 1]
mov ecx, 0x270d
add esp, 4
cmp dx, cx
ja 0x4473ad
movzx edx, word [esi + 0x18]
mov ecx, dword [0x56895c]
movzx eax, ax
imul eax, eax, 0x108c
mov dword [eax + ecx + 0x1c8], edx
movzx edx, word [esi + 0x1a]
mov ecx, dword [0x56895c]
mov dword [eax + ecx + 0x1cc], edx
mov edx, dword [0x56895c]
mov byte [eax + edx + 0x10], 1
add ebx, 0x10
add edi, 0xc
add esi, 0x24
dec dword [ebp - 0x1a84]
jne 0x447290
cmp byte [0x643e00], 0
mov ecx, dword [0x1a82000]
mov eax, dword [0x643e04]
je 0x44748b
movzx edx, word [0x1a82f70]
cmp edx, eax
je 0x447461
mov dx, ax
mov word [0x1a82f70], dx
cmp ecx, 1
jne 0x4474b5
xor ecx, ecx
lea edx, [eax - 9]
mov byte [0x6a589a], 0
mov dword [0x6a58a4], ecx
mov dword [0x6a58a8], edx
mov dword [0x6a589c], ecx
cmp eax, 9
jle 0x447448
fild dword [0x643e04]
mov edi, dword [ebp - 0x1a94]
mov dword [ebp - 0x1a88], edi
fsub qword [0x4e5df8]
fidiv dword [0x6a58a0]
fstp dword [0x6a58ac]
jmp 0x43c78f
fldz
mov edi, dword [ebp - 0x1a94]
fstp dword [0x6a58ac]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov ecx, dword [0x1a3ba00]
cmp ecx, 0xffffffff
jle 0x4474b5
cmp ecx, eax
jl 0x4474b5
mov edi, dword [ebp - 0x1a94]
mov dword [0x1a3ba00], 0xffffffff
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov dword [0x1a3ba00], 0xffffffff
cmp ecx, 1
jne 0x4474ad
xor eax, eax
mov byte [0x6a589a], 0
mov dword [0x6a58a4], eax
mov dword [0x6a589c], eax
xor eax, eax
mov word [0x1a82f70], ax
mov edi, dword [ebp - 0x1a94]
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov ecx, dword [ebx + 4]
mov dword [0x41ec2ec], ecx
mov edx, dword [ebx + 8]
mov dword [0x41ec2f0], edx
mov eax, dword [ebx + 0xc]
push 0x2b
mov dword [0x41ec2f4], eax
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov ecx, dword [0x1a3ba10]
add ecx, dword [0x5ec5ec]
lea eax, [ebp - 0xf04]
push ecx
push eax
call fcn.004cce8a
lea ecx, [ebp - 0xf04]
push 0
push ecx
call fcn.0040d780
push 0x2b
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
fstp st(2)
add edi, 4
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
movzx edx, word [ebx + 4]
push edx
call fcn.00406270
mov ecx, 0x270f
add esp, 4
movzx eax, ax
cmp word [0x5f375c], cx
jae 0x44572b
lea edx, [eax - 1]
mov ecx, 0x270d
cmp dx, cx
ja 0x44572b
mov ecx, dword [0x56895c]
movzx edx, ax
mov al, byte [ebx + 6]
imul edx, edx, 0x108c
mov byte [edx + ecx + 0xd], al
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov edx, dword [ebx + 4]
mov dword [0x41ec080], edx
mov eax, dword [ebx + 8]
mov dword [0x41ec084], eax
mov ecx, dword [ebx + 0xc]
push 0x2c
mov dword [0x41ec088], ecx
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov edx, dword [ebx + 4]
mov dword [0x53b67c], edx
mov eax, dword [ebx + 8]
mov dword [0x53b680], eax
mov ecx, dword [ebx + 0xc]
push 0x2d
mov dword [0x53b684], ecx
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov edx, dword [0x1a3ba10]
add edx, dword [0x5ec5ec]
lea ecx, [ebp - 0x1104]
push edx
push ecx
call fcn.004cce8a
lea edx, [ebp - 0x1104]
push 0
push edx
call fcn.0040d780
push 0x2d
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov eax, dword [ebx + 4]
mov dword [0x64401c], eax
mov ecx, dword [ebx + 8]
mov dword [0x644020], ecx
mov edx, dword [ebx + 0xc]
push 0x3c
mov dword [0x644024], edx
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [0x1a3ba10]
add eax, dword [0x5ec5ec]
lea edx, [ebp - 0x1304]
push eax
push edx
call fcn.004cce8a
lea eax, [ebp - 0x1304]
push 0
push eax
call fcn.0040d780
push 0x3c
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov ecx, dword [ebx + 4]
mov dword [0x1a38370], ecx
mov edx, dword [ebx + 8]
mov dword [0x1a38374], edx
mov eax, dword [ebx + 0xc]
push 0x3e
mov dword [0x1a38378], eax
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov ecx, dword [0x1a3ba10]
add ecx, dword [0x5ec5ec]
lea eax, [ebp - 0x1504]
push ecx
push eax
call fcn.004cce8a
lea ecx, [ebp - 0x1504]
push 0
push ecx
call fcn.0040d780
push 0x3e
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
fstp st(2)
push 0x1c
fstp st(1)
fstp st(0)
call fcn.00470960
push 0x1d
call fcn.00470960
push 0x1e
call fcn.00470960
push 0x1f
call fcn.00470960
push 0x1a
call fcn.00470960
push 0x1b
call fcn.00470960
push 0x36
call fcn.00470960
push 0x37
call fcn.00470960
push 0x38
call fcn.00470960
add esp, 0x24
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0xc
cmp edi, esi
ja 0x447ef1
mov edx, dword [ebx + 4]
mov dword [0x5e9f60], edx
mov eax, dword [ebx + 8]
mov dword [0x5e9f64], eax
mov ecx, dword [ebx + 0xc]
push 0x27
mov dword [0x5e9f68], ecx
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [0x5ec5f0]
add eax, dword [0x1a3ba10]
lea ecx, [ebp - 0x1404]
push eax
push ecx
call fcn.004cce8a
lea edx, [ebp - 0x1404]
push 0
push edx
call fcn.0040d780
push 0x27
call fcn.00470960
add esp, 0x14
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
mov eax, dword [ebx + 4]
mov dword [0x64193c], eax
mov ecx, dword [ebx + 8]
mov dword [0x641940], ecx
mov edx, dword [ebx + 0xc]
mov ecx, 0x3c
mov esi, 0x53b7e0
mov edi, 0x41ebd00
mov dword [0x641944], edx
xor eax, eax
mov edx, 0x53b1b0
rep movsd dword es:[edi], dword [esi]
mov word [edx], ax
inc eax
add edx, 2
cmp ax, 0x1e
jb 0x4478f6
xor eax, eax
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [0x5f4c90], eax
mov dword [0x5f4c94], eax
mov dword [0x5f4c98], eax
mov dword [0x5f4c9c], eax
mov dword [0x5f4ca0], eax
mov dword [0x5f4ca4], eax
mov dword [0x5f4ca8], eax
mov word [0x5f4cac], ax
xor edx, edx
mov ax, dx
movzx ecx, ax
mov eax, ecx
push 0x78
shl ecx, 0x10
or eax, ecx
xor esi, esi
push esi
push 0x6a2ca8
mov dword [0x5f0800], eax
mov dword [0x5f0804], eax
mov dword [0x5f0808], eax
mov dword [0x5f080c], eax
mov dword [0x5f0810], eax
mov dword [0x5f0814], eax
mov dword [0x5f0818], eax
mov word [0x5f081c], ax
call fcn.004cce10
push 0x78
push esi
push 0x5e90e8
call fcn.004cce10
mov edi, 1
push edi
push 6
call fcn.0040d210
push 0x27
mov dword [0x6a2c90], esi
mov dword [0x53b9d4], esi
mov dword [0x6a5df4], edi
mov dword [0x6a44d8], edi
call fcn.00470960
push 0x17
call fcn.00470960
push 0x1a
call fcn.00470df0
push 0x1b
call fcn.00470df0
add esp, 0x30
add dword [ebp - 0x1a88], 0xc
mov edi, dword [ebp - 0x1a88]
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
xor edx, edx
mov ax, dx
movzx ecx, ax
mov eax, ecx
push 0xf0
shl ecx, 0x10
or eax, ecx
xor esi, esi
push esi
push 0x41ebd00
mov dword [0x53b1b0], eax
mov dword [0x53b1b4], eax
mov dword [0x53b1b8], eax
mov dword [0x53b1bc], eax
mov dword [0x53b1c0], eax
mov dword [0x53b1c4], eax
mov dword [0x53b1c8], eax
mov dword [0x53b1cc], eax
mov dword [0x53b1d0], eax
mov dword [0x53b1d4], eax
mov dword [0x53b1d8], eax
mov dword [0x53b1dc], eax
mov dword [0x53b1e0], eax
mov dword [0x53b1e4], eax
mov dword [0x53b1e8], eax
call fcn.004cce10
xor edx, edx
mov ax, dx
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [0x5f4c90], eax
mov dword [0x5f4c94], eax
mov dword [0x5f4c98], eax
mov dword [0x5f4c9c], eax
mov dword [0x5f4ca0], eax
mov dword [0x5f4ca4], eax
mov dword [0x5f4ca8], eax
mov word [0x5f4cac], ax
mov ax, dx
movzx ecx, ax
mov eax, ecx
push 0x78
shl ecx, 0x10
or eax, ecx
push esi
push 0x6a2ca8
mov dword [0x5f0800], eax
mov dword [0x5f0804], eax
mov dword [0x5f0808], eax
mov dword [0x5f080c], eax
mov dword [0x5f0810], eax
mov dword [0x5f0814], eax
mov dword [0x5f0818], eax
mov word [0x5f081c], ax
call fcn.004cce10
push 0x78
push esi
push 0x5e90e8
call fcn.004cce10
push 0x1a
call fcn.00470960
push 0x1b
call fcn.00470960
add esp, 0x2c
mov dword [0x6a5df4], esi
mov dword [0x6a44d8], esi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 0x7c
cmp edi, esi
ja 0x447ef1
mov edx, dword [ebx + 4]
mov dword [0x53b9d4], edx
mov eax, 0x6a2ca8
add ebx, 8
mov ecx, 0xf
nop
mov edx, dword [ebx]
mov dword [eax], edx
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
add ebx, 8
add eax, 8
dec ecx
jne 0x447b40
mov dword [0x6a44d8], 2
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
push 0x17
call fcn.00470df0
push 0x32
call fcn.00470df0
add esp, 8
mov dword [0x640074], 1
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
push 0x32
call fcn.00470960
add esp, 4
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
push 0x17
call fcn.00470df0
push 0x33
call fcn.00470df0
add esp, 8
mov dword [0x53b44c], 1
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
push 0x33
call fcn.00470960
add esp, 4
jmp 0x43c78f
fstp st(2)
add edi, 4
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
cmp dword [0x5e90d8], 0
je 0x44572b
movzx ecx, word [0x5f375c]
mov edx, dword [0x56895c]
imul ecx, ecx, 0x108c
lea eax, [ebp - 0x19dc]
push eax
lea eax, [ecx + edx + 0x1dc]
push eax
call fcn.0040d4b0
add esp, 8
lea ecx, [ebp - 0x19dc]
push ecx
mov edx, ecx
mov ecx, dword [0x5e90d8]
push edx
push 0xb
call fcn.00488ed0
mov eax, dword [ebx + 4]
mov ecx, dword [0x5e90d8]
push 0
push 1
dec eax
push eax
call fcn.00488d70
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
movzx eax, word [ebx + 4]
fstp st(1)
fstp st(0)
jne 0x447ef1
lea edi, [eax + edi + 4]
mov dword [ebp - 0x1a84], eax
cmp edi, esi
ja 0x447ef1
push 0x4000
push 0
push 0x1a7ddc0
call fcn.004cce10
mov esi, dword [ebp - 0x1a84]
push esi
add ebx, 8
push ebx
push 0x1a7ddc0
call fcn.004cd640
mov ecx, dword [0x1a7d8a8]
push 0x1a7ddc0
push ecx
mov dword [0x41ec41c], esi
call fcn.0049be20
xor ecx, ecx
add esp, 0x20
lea edx, [eax - 0xa]
mov dword [0x6a5010], eax
mov byte [0x6a5b3a], 0
mov dword [0x6a5b44], ecx
mov dword [0x6a5b48], edx
mov dword [0x6a5b3c], ecx
cmp eax, 0xa
jle 0x447d35
fild dword [0x6a5010]
fsub qword [0x4e4458]
fidiv dword [0x6a5b40]
jmp 0x447d37
fldz
push 0x2e
fstp dword [0x6a5b4c]
call fcn.00470df0
add esp, 4
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 4
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
mov eax, dword [ebx + 4]
cmp eax, 0xfb
jae 0x447dac
cmp eax, 0x1e
ja 0x447dc4
mov byte [0x53b136], al
mov byte [0x539bc7], 0x3c
cmp al, 1
jne 0x447d98
mov ecx, dword [0x5ec5bc]
mov byte [0x53b136], 0
mov byte [0x539bc7], 0
jmp 0x447db3
cmp al, 0x1e
jne 0x447dc4
mov eax, dword [0x5ec5b8]
add eax, dword [0x1a3ba10]
push 7
push eax
jmp 0x447dbc
mov ecx, dword [eax*4 + 0x5ec120]
add ecx, dword [0x1a3ba10]
push 7
push ecx
call fcn.0040d780
add esp, 8
mov ebx, dword [ebx + 4]
cmp ebx, 0x447
jne 0x447de6
mov edx, 1
mov word [0x1a39284], dx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp ebx, 0x446
jne 0x44572b
xor eax, eax
mov word [0x1a39284], ax
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
cmp dword [0x526908], 0x50
fstp st(2)
fstp st(1)
fstp st(0)
jne 0x447ef1
add edi, 8
cmp edi, esi
ja 0x447ef1
movzx ecx, word [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [ecx*4 + 0x1a82f74], edx
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
fstp st(2)
add edi, 0x40
fstp st(1)
fstp st(0)
cmp edi, esi
ja 0x447ef1
push 0x40
push 0
push 0x5f4c50
call fcn.004cce10
mov ax, word [ebx + 4]
mov word [0x5f4c50], ax
mov cx, word [ebx + 0x28]
mov word [0x5f4c74], cx
mov dx, word [ebx + 0x2a]
mov word [0x5f4c76], dx
add esp, 0xc
mov ecx, 0x5f4c54
lea eax, [ebx + 8]
mov edx, 8
jmp 0x447e90
mov esi, dword [eax]
mov dword [ecx], esi
add eax, 4
add ecx, 4
dec edx
jne 0x447e90
mov eax, dword [ebx + 0x2c]
mov dword [0x5f4c78], eax
mov ecx, dword [ebx + 0x30]
mov dword [0x5f4c7c], ecx
mov edx, dword [ebx + 0x34]
mov dword [0x5f4c80], edx
mov eax, dword [ebx + 0x38]
mov dword [0x5f4c84], eax
mov ecx, dword [ebx + 0x3c]
mov dword [0x5f4c88], ecx
mov edx, dword [ebx + 0x40]
mov dword [0x5f4c8c], edx
call fcn.0040fad0
mov dword [ebp - 0x1a88], edi
jmp 0x43c78f
mov eax, 0xffff
mov word [0x6a307c], ax
call fcn.0047b5c0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov ecx, 0xffff
mov word [0x6a307c], cx
xor eax, eax
pop edi
pop esi
mov dword [0x6a5568], 1
mov dword [0x6a556c], eax
mov dword [0x6a5570], eax
mov dword [0x6a5574], eax
mov dword [0x5f344c], eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ccd49
mov esp, ebp
pop ebp
ret
mov edx, 0xffff
mov word [0x6a307c], dx
jmp 0x447f10
fstp st(2)
fstp st(1)
mov ecx, dword [ebp - 4]
fstp st(0)
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004ccd49
mov esp, ebp
pop ebp
ret