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

Disassembly:
sub esp, 0xcb4
push ebx
mov ebx, ecx
push ebp
push esi
lea esi, [ebx + 0x2e]
push edi
mov dword [esp + 0xe8], esi
xor edi, edi
mov al, byte [esi]
mov dword [esp + 0x48], ebx
test al, al
jne 0x47d03c
mov byte [esi], 1
mov al, byte [ebx + 0x31]
test al, al
je 0x47a055
call fcn.00475ce0
mov byte [ebx + 0x2d], 0
mov eax, dword [ebx + 0x138]
mov dword [esp + 0x68], eax
mov ecx, dword [ebx + 0x94]
mov dword [esp + 0x78], ecx
mov dword [ebx + 0x94], edi
mov dword [ebx + 0x98], edi
mov dword [ebx + 0x9c], edi
mov dword [ebx + 0xa0], edi
mov dword [ebx + 0xa4], edi
lea ecx, [ebx + 0x6c]
mov byte [ebx + 0x130], 0
mov dword [ebx + 0x138], edi
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
push eax
push edx
call fcn.004841f0
lea eax, [ebx + 0xa8]
mov ecx, 0x10
mov dword [eax], edi
add eax, 4
dec ecx
jne 0x47a0b2
mov byte [ebx + 0x132], 0
mov dword [ebx + 0xf0], edi
mov byte [ebx + 0x131], 0
mov dword [ebx + 0xf8], edi
mov al, byte [ebx + 0x2c]
test al, al
je 0x47a0e9
mov byte [esi], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xcb4
ret
mov eax, dword [0x621804]
mov ecx, dword [0x6249f8]
lea edx, [esp + 0x43]
add eax, 8
mov dword [esp + 0x34], ecx
push edx
lea ecx, [esp + 0x80]
mov dword [esp + 0xc4], eax
call fcn.00405d90
lea eax, [esp + 0x43]
lea ecx, [esp + 0x33]
push eax
push ecx
lea ecx, [esp + 0x58]
call fcn.00484260
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
push edx
push eax
lea ecx, [esp + 0x84]
call fcn.004841f0
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
mov ecx, dword [ebx + 0x40]
cmp eax, ecx
je 0x47a4c6
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov ebp, dword [ecx]
cmp ebp, ecx
je 0x47a43b
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x128]
test esi, esi
je 0x47a42c
mov edx, dword [esi]
push 0x626140
mov ecx, esi
call dword [edx + 0x1c]
test al, al
je 0x47a3ff
mov ecx, edi
mov dword [esp + 0x28], edi
call fcn.00419cb0
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx + 8]
jne 0x47a42c
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x128]
mov dword [esp + 0x10], edx
mov edi, dword [ebx + 0x94]
inc edi
lea edx, [ebx + 0x6c]
mov dword [ebx + 0x94], edi
mov eax, dword [edx + 4]
mov esi, dword [edx + 8]
cmp eax, esi
je 0x47a1df
test eax, eax
je 0x47a1d9
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
add dword [edx + 4], 4
jmp 0x47a1f2
lea ecx, [esp + 0x28]
push 1
push ecx
push eax
mov ecx, edx
call fcn.00485120
mov ecx, dword [esp + 0x28]
mov al, byte [ecx + 0x3aa]
test al, al
je 0x47a202
inc dword [ebx + 0x98]
call fcn.00512b40
test al, al
je 0x47a211
inc dword [ebx + 0x9c]
mov ecx, dword [esp + 0x28]
mov al, byte [ecx + 0x3a7]
test al, al
je 0x47a225
inc dword [ebx + 0xa0]
call fcn.00512ca0
test al, al
je 0x47a234
inc dword [ebx + 0xa4]
mov eax, dword [esp + 0x28]
xor edi, edi
mov dword [eax + 0x368], edi
mov dword [eax + 0x36c], edi
mov dword [eax + 0x370], edi
mov esi, dword [eax + 0x128]
cmp esi, edi
je 0x47a26a
mov edx, dword [esi]
push 0x626140
mov ecx, esi
call dword [edx + 0x1c]
test al, al
je 0x47a26a
mov eax, esi
jmp 0x47a26c
xor eax, eax
mov eax, dword [eax + 0x3b8]
mov esi, dword [ebx + 0xf8]
add esi, eax
mov dword [ebx + 0xf8], esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
mov eax, dword [eax + 0x1ec]
mov esi, ecx
mov dword [esp + 0x5c], eax
mov dword [0x624a00], eax
mov eax, dword [esp + 0x80]
cmp ecx, eax
mov edi, eax
je 0x47a2c7
mov ecx, dword [esi]
push ecx
call fcn.0047d1e0
add esp, 4
test al, al
jne 0x47a2bc
add esi, 4
cmp esi, edi
jne 0x47a2a6
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov edx, eax
sub edx, ecx
test edx, 0xfffffffc
je 0x47a2d7
cmp esi, eax
jne 0x47a320
mov edx, dword [ebx + 0x138]
inc edx
mov dword [ebx + 0x138], edx
mov ecx, dword [esp + 0x84]
cmp eax, ecx
je 0x47a30c
test eax, eax
je 0x47a300
mov ecx, dword [esp + 0x10]
mov dword [eax], ecx
mov eax, dword [esp + 0x80]
add eax, 4
mov dword [esp + 0x80], eax
jmp 0x47a320
lea edx, [esp + 0x10]
push 1
push edx
push eax
lea ecx, [esp + 0x88]
call fcn.00485120
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x90]
push eax
push ecx
lea ecx, [esp + 0x58]
call fcn.005d3390
mov edx, dword [eax]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x40], edx
call fcn.005d8060
mov ecx, eax
mov eax, dword [esp + 0x3c]
cmp eax, dword [ecx]
je 0x47a362
mov edx, dword [esp + 0x5c]
mov ecx, dword [eax + 0x10]
cmp edx, ecx
jge 0x47a3b5
lea ecx, [esp + 0x36c]
call fcn.00476e30
mov ecx, dword [esp + 0x5c]
mov esi, eax
mov dword [esp + 0x284], ecx
mov ecx, 0x1c
lea edi, [esp + 0x288]
lea edx, [esp + 0x284]
rep movsd dword es:[edi], dword [esi]
push edx
push ecx
lea eax, [esp + 0x44]
mov ecx, esp
push eax
call fcn.005d82d0
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov ecx, dword [eax + 0x14]
add eax, 0x14
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov edi, dword [eax + 4]
mov edx, dword [ecx + 0x2a8]
add edi, edx
mov dword [eax + 4], edi
mov edx, dword [ecx + 0x2b8]
mov esi, dword [eax + 8]
add esi, edx
mov dword [eax + 8], esi
mov al, byte [ebx + 0x2f]
test al, al
je 0x47a42c
mov edx, dword [ecx]
call dword [edx + 0x228]
test al, al
je 0x47a42c
mov eax, dword [esp + 0x28]
mov ecx, ebx
push eax
call fcn.00475240
jmp 0x47a42c
mov edx, dword [esi]
push 0x6260e8
mov ecx, esi
call dword [edx + 0x1c]
test al, al
je 0x47a42c
cmp dword [edi + 0x170], 0x6e
jne 0x47a42c
mov eax, dword [ebx + 0xf0]
inc eax
mov dword [ebx + 0xf0], eax
mov byte [ebx + 0x132], 1
mov eax, dword [esp + 0x60]
mov ebp, dword [ebp]
cmp ebp, dword [eax]
jne 0x47a16a
mov ebp, 4
mov dword [esp + 0x60], 2
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
mov edi, dword [edx + ebp]
test edi, edi
je 0x47a49e
mov esi, dword [edi + 0x128]
test esi, esi
je 0x47a49e
mov eax, dword [esi]
push 0x624aa8
mov ecx, esi
call dword [eax + 0x1c]
test al, al
je 0x47a49e
mov edx, dword [esi]
mov edi, dword [edi + 0x154]
push 0x626600
mov ecx, esi
call dword [edx + 0x1c]
test al, al
je 0x47a49e
mov eax, dword [esi + 0x168]
mov ecx, dword [ebx + eax*4 + 0xa8]
lea eax, [ebx + eax*4 + 0xa8]
add ecx, edi
mov dword [eax], ecx
mov eax, dword [esp + 0x60]
add ebp, 4
dec eax
mov dword [esp + 0x60], eax
jne 0x47a448
cmp ebp, 0x14
jl 0x47a440
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
mov ecx, dword [ebx + 0x40]
cmp eax, ecx
jne 0x47a153
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
sub eax, esi
lea edx, [esp + 0x43]
sar eax, 2
push edx
push eax
lea ecx, [esp + 0x160]
call fcn.005618c0
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x158]
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x80]
push edx
push eax
push ecx
call fcn.004865c0
xor ebp, ebp
mov dword [esp + 0x16c], eax
mov dword [esp + 0x10c], ebp
mov dword [esp + 0xb4], ebp
mov edx, dword [ebx + 8]
add esp, 0x10
mov eax, dword [edx + 8]
mov dword [esp + 0xfc], eax
mov ecx, dword [ebx + 8]
cmp eax, ecx
je 0x47a5af
mov esi, dword [eax + 0x10]
lea edi, [ebx + 0x138]
lea eax, [esp + 0x7c]
push edi
push eax
mov ecx, esi
call fcn.004799e0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 8]
mov dword [esp + 0xa4], eax
mov ecx, dword [esi + 0x14]
cmp eax, ecx
je 0x47a591
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x7c]
push edi
push edx
call fcn.004799e0
lea eax, [esp + 0xa4]
push eax
call fcn.004149c0
mov ecx, dword [esi + 0x14]
mov eax, dword [esp + 0xa8]
add esp, 4
cmp eax, ecx
jne 0x47a565
lea ecx, [esp + 0xfc]
push ecx
call fcn.004149c0
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x100]
add esp, 4
cmp eax, ecx
jne 0x47a53b
mov edx, dword [ebx + 0x14]
mov eax, dword [edx + 8]
mov dword [esp + 0xa4], eax
mov ecx, dword [ebx + 0x14]
cmp eax, ecx
je 0x47a5f8
lea ecx, [ebx + 0x138]
push ecx
lea ecx, [esp + 0x80]
push ecx
mov ecx, dword [eax + 0x10]
call fcn.004799e0
lea edx, [esp + 0xa4]
push edx
call fcn.004149c0
mov ecx, dword [ebx + 0x14]
mov eax, dword [esp + 0xa8]
add esp, 4
cmp eax, ecx
jne 0x47a5c3
mov eax, dword [esp + 0x68]
mov ecx, dword [ebx + 0x138]
cmp eax, ecx
je 0x47a60a
mov byte [ebx + 0x30], 1
mov ecx, dword [esp + 0x78]
mov eax, dword [ebx + 0x94]
cmp ecx, eax
je 0x47a642
mov byte [ebx + 0x30], 1
mov eax, dword [ebx + 0x94]
cmp eax, ebp
jne 0x47a642
call fcn.004953a0
test al, al
jne 0x47a636
mov ecx, ebx
call fcn.00483370
mov dword [ebx + 0x128], ebp
mov dword [ebx + 0x12c], ebp
mov ebp, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
xor ebx, ebx
cmp ebp, eax
je 0x47a710
mov edx, dword [ebp]
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x54]
mov eax, dword [edx + 0x1ec]
lea edx, [esp + 0x94]
push edx
mov dword [esp + 0x18], eax
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x60], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x5c]
cmp eax, dword [edx]
je 0x47a6a6
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47a6f9
lea ecx, [esp + 0x36c]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x288]
mov dword [esp + 0x284], edx
lea eax, [esp + 0x284]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x64]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xa8]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov edx, dword [eax + 0x18]
mov eax, dword [esp + 0x80]
add ebp, 4
add ebx, edx
cmp ebp, eax
jne 0x47a657
mov esi, dword [esp + 0x48]
mov ecx, dword [esi + 0x94]
test ecx, ecx
je 0x47a72b
mov eax, ebx
cdq
idiv ecx
mov dword [esi + 0xe8], eax
jmp 0x47a735
mov dword [esi + 0xe8], 0
mov ecx, dword [0x6237b8]
lea edx, [esp + 0x43]
push edx
mov eax, 0x2aaaaaab
mov edx, dword [ecx + 0x10]
lea esi, [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
sub ecx, edx
imul ecx
sar edx, 3
mov eax, edx
lea ecx, [esp + 0x188]
shr eax, 0x1f
add edx, eax
push edx
call fcn.00483f10
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x184]
mov eax, dword [esi + 4]
mov esi, dword [esi]
push ecx
push edx
push eax
push esi
call fcn.00486440
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x8c]
add esp, 0x10
cmp eax, ecx
mov ebx, eax
je 0x47af35
mov eax, dword [ebx]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x90]
push ecx
mov ebp, dword [eax + 0x1ec]
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x60], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x5c]
cmp eax, dword [edx]
je 0x47a7f5
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47a848
lea ecx, [esp + 0x36c]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x7f0]
mov dword [esp + 0x7ec], edx
lea eax, [esp + 0x7ec]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x64]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xa8]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0xd4]
push ecx
mov dword [eax + 0x20], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xec]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x40], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x3c]
cmp eax, dword [edx]
je 0x47a895
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47a8e8
lea ecx, [esp + 0x9b4]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x864]
mov dword [esp + 0x860], edx
lea eax, [esp + 0x860]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xfc]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0xe0]
push ecx
mov dword [eax + 0x24], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x144]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x50], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x4c]
cmp eax, dword [edx]
je 0x47a935
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47a988
lea ecx, [esp + 0xbe4]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x538]
mov dword [esp + 0x534], edx
lea eax, [esp + 0x534]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x54]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x128]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x140]
push ecx
mov dword [eax + 0x28], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x124]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x74], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x70]
cmp eax, dword [edx]
je 0x47a9d5
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47aa28
lea ecx, [esp + 0x944]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x708]
mov dword [esp + 0x704], edx
lea eax, [esp + 0x704]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x78]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x144]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x134]
push ecx
mov dword [eax + 0x2c], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x12c]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x70], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x6c]
cmp eax, dword [edx]
je 0x47aa75
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47aac8
lea ecx, [esp + 0x8d4]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x620]
mov dword [esp + 0x61c], edx
lea eax, [esp + 0x61c]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x74]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x118]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x11c]
push ecx
mov dword [eax + 0x30], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x114]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x68], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x64]
cmp eax, dword [edx]
je 0x47ab15
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47ab68
lea ecx, [esp + 0xa94]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x450]
mov dword [esp + 0x44c], edx
lea eax, [esp + 0x44c]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x138]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x64], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x148]
push ecx
mov dword [eax + 0x34], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x118]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x2c], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x28]
cmp eax, dword [edx]
je 0x47abb5
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47ac08
lea ecx, [esp + 0xb74]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x4c4]
mov dword [esp + 0x4c0], edx
lea eax, [esp + 0x4c0]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x30]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x130]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x138]
push ecx
mov dword [eax + 0x38], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x1c], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x18]
cmp eax, dword [edx]
je 0x47ac52
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47aca2
lea ecx, [esp + 0xc54]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x5ac]
mov dword [esp + 0x5a8], edx
lea eax, [esp + 0x5a8]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x68]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x68]
push ecx
mov dword [eax + 0x3c], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x18], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x14]
cmp eax, dword [edx]
je 0x47ace9
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47ad3c
lea ecx, [esp + 0xb04]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x694]
mov dword [esp + 0x690], edx
lea eax, [esp + 0x690]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x90]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0xcc]
push ecx
mov dword [eax + 0x40], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x48], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x44]
cmp eax, dword [edx]
je 0x47ad89
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47addc
lea ecx, [esp + 0xa24]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x77c]
mov dword [esp + 0x778], edx
lea eax, [esp + 0x778]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x4c]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xf8]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x44], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0xf8]
push ecx
mov dword [eax + 0x44], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x100]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x30], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x2c]
cmp eax, dword [edx]
je 0x47ae29
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47ae7c
lea ecx, [esp + 0x3dc]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x2fc]
mov dword [esp + 0x2f8], edx
lea eax, [esp + 0x2f8]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x34]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xec]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0xc8]
push ecx
mov dword [eax + 0x48], 0
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x18], ebp
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x24], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x20]
cmp eax, dword [edx]
je 0x47aec9
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47af1c
lea ecx, [esp + 0x284]
call fcn.00476e30
mov edx, dword [esp + 0x10]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x1ac]
mov dword [esp + 0x1a8], edx
lea eax, [esp + 0x1a8]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xcc]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov dword [eax + 0x4c], 0
mov eax, dword [esp + 0x80]
add ebx, 4
cmp ebx, eax
jne 0x47a7a7
xor eax, eax
mov ecx, 0x12
lea edi, [esp + 0x23c]
mov dword [esp + 0x3c], eax
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x48]
mov dword [esp + 0xcc], eax
mov eax, dword [edi + 0x7c]
mov edx, dword [edi + 0x78]
lea ecx, [edi + 0x78]
push eax
push edx
call fcn.004841f0
mov eax, dword [edi + 0x40]
lea ecx, [edi + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov edx, dword [ecx]
cmp eax, edx
je 0x47b34d
mov ecx, dword [esp + 0x18]
mov ebp, dword [ecx + 8]
mov dword [esp + 0x5c], ebp
mov dl, byte [ebp + 0x80]
mov byte [esp + 0x78], dl
mov al, byte [ebp + 0x83]
test al, 8
jne 0x47afb3
mov eax, dword [esp + 0x78]
and eax, 0xff
mov ecx, dword [esp + eax*4 + 0x23c]
lea eax, [esp + eax*4 + 0x23c]
inc ecx
mov dword [eax], ecx
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
cmp ebx, eax
mov byte [esp + 0x33], 0
mov byte [esp + 0x3b], 0
mov dword [esp + 0x10], ebx
je 0x47b28d
jmp 0x47afde
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x5c]
mov ecx, dword [ebx]
lea eax, [esp + 0x20]
push eax
mov edx, dword [ecx + 0x1ec]
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x28], edx
call fcn.005d3390
mov edx, dword [eax]
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x30], edx
call fcn.005d8060
mov ecx, eax
mov eax, dword [esp + 0x2c]
cmp eax, dword [ecx]
je 0x47b02c
mov edx, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
cmp edx, ecx
jge 0x47b07f
lea ecx, [esp + 0x284]
call fcn.00476e30
mov ecx, dword [esp + 0x20]
mov esi, eax
mov dword [esp + 0x1a8], ecx
mov ecx, 0x1c
lea edi, [esp + 0x1ac]
lea edx, [esp + 0x1a8]
rep movsd dword es:[edi], dword [esi]
push edx
push ecx
lea eax, [esp + 0x34]
mov ecx, esp
push eax
call fcn.005d82d0
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
lea esi, [eax + 0x14]
mov byte [esp + 0x1f], 0
mov dword [esp + 0x44], esi
mov ebx, dword [ebx]
mov al, byte [ebp + 0x83]
add ebx, 0x2cc
test al, 8
je 0x47b0e5
mov ecx, dword [ebp + 0x4c]
mov edx, dword [ecx]
mov edi, dword [ecx + 0x10c]
call dword [edx + 0x20]
push edi
mov ecx, ebx
mov ebp, eax
call fcn.00458ce0
push ebp
mov ecx, ebx
mov edi, eax
call fcn.00458ce0
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, edi
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fadd dword [esi + 0x10]
fstp dword [esi + 0x10]
mov ebp, dword [esp + 0x5c]
lea eax, [ebp + 4]
mov dword [esp + 0x68], 2
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], 2
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x70], eax
je 0x47b235
mov esi, dword [eax + 0x128]
test esi, esi
je 0x47b235
mov edx, dword [esi]
push 0x624aa8
mov ecx, esi
call dword [edx + 0x1c]
test al, al
je 0x47b235
mov eax, dword [esi]
mov edi, dword [esi + 0x10c]
mov ecx, esi
call dword [eax + 0x20]
push edi
mov ecx, ebx
mov ebp, eax
call fcn.00458ce0
push ebp
mov ecx, ebx
mov edi, eax
call fcn.00458ce0
mov ecx, dword [esp + 0x70]
add edi, eax
push 0x626568
mov ecx, dword [ecx + 0x150]
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
fild dword [esp + 0x8c]
fadd dword [eax + 0x10]
fstp dword [eax + 0x10]
mov cl, byte [esi + 0x12c]
mov al, byte [esp + 0x37]
test cl, cl
sete dl
mov cl, byte [esp + 0x3f]
or al, dl
mov byte [esp + 0x37], al
mov edx, dword [esi + 0x11c]
test edx, edx
mov edx, dword [esi]
setg al
or cl, al
mov byte [esp + 0x3f], cl
mov ecx, esi
call dword [edx + 0x1c]
test al, al
je 0x47b210
mov al, byte [esi + 0x23e]
test al, al
jne 0x47b1cf
mov eax, dword [esi + 0x170]
test eax, eax
jle 0x47b210
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x48]
push eax
mov ecx, ebp
call fcn.00477320
test al, al
jne 0x47b210
mov eax, dword [ebp + 0x7c]
mov edx, dword [ebp + 0x80]
lea ecx, [ebp + 0x78]
cmp eax, edx
je 0x47b203
test eax, eax
je 0x47b1fd
mov edx, dword [esp + 0x70]
mov dword [eax], edx
add dword [ecx + 4], 4
jmp 0x47b210
lea edx, [esp + 0x70]
push 1
push edx
push eax
call fcn.00485120
test edi, edi
jl 0x47b235
mov al, byte [esi + 0x12b]
test al, al
je 0x47b225
mov eax, dword [esp + 0x44]
inc dword [eax + 0x1c]
mov al, byte [esi + 0x12a]
mov cl, byte [esp + 0x1f]
or cl, al
mov byte [esp + 0x1f], cl
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
add ecx, 4
dec eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x60], eax
jne 0x47b0fc
mov eax, ecx
mov ecx, dword [esp + 0x68]
dec ecx
mov dword [esp + 0x68], ecx
jne 0x47b0f0
mov al, byte [esp + 0x1f]
test al, al
je 0x47b26f
mov eax, dword [esp + 0x44]
inc dword [eax + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
jne 0x47afd6
mov ebp, dword [esp + 0x5c]
mov ebx, closesocket
mov esi, closesocket
mov dword [esp + 0x60], ebx
mov edi, 1
push edi
mov ecx, ebp
call fcn.00420b00
cmp eax, ebx
jge 0x47b2ae
mov ebx, eax
cmp eax, esi
jle 0x47b2b4
mov esi, eax
add edi, 2
cmp edi, 7
jle 0x47b2a0
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x60], ebx
xor ebx, ebx
mov dl, byte [ebp + 0x82]
mov cl, bl
shr dl, cl
and dl, 3
cmp dl, 1
jbe 0x47b311
mov ecx, dword [esp + 0xc0]
push ebx
push ebp
call fcn.0043a580
test eax, eax
je 0x47b308
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x28]
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x38]
lea ecx, [ecx + ecx*2]
lea eax, [eax + eax*4]
mov edx, dword [edx + ecx*4]
mov edx, dword [edx + eax*8]
jmp 0x47b30a
xor edx, edx
cmp edx, dword [esp + 0x48]
jne 0x47b311
inc edi
add ebx, 2
cmp ebx, 6
jle 0x47b2c9
mov edx, dword [esp + 0x60]
mov al, byte [esp + 0x3b]
sub esi, edx
add edi, esi
test al, al
mov dword [esp + 0xcc], edi
je 0x47b334
inc dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x48]
mov eax, dword [ecx]
lea ecx, [edx + 0x40]
mov dword [esp + 0x18], eax
cmp eax, dword [ecx]
jne 0x47af7a
xor ebp, ebp
lea edx, [esp + 0x20]
mov dword [esp + 0x20], ebp
mov eax, dword [ecx]
push edx
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.00561700
mov ecx, dword [eax]
push ecx
call fcn.004b6720
fild dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x10], edx
mov byte [esp + 0x33], 1
fidiv dword [esp + 0x20]
fcom dword [0x5fdca4]
fnstsw ax
test ah, 0x41
je 0x47b39a
mov byte [esp + 0x33], 0
fcomp dword [0x5fdca0]
mov byte [esp + 0x3b], 1
fnstsw ax
test ah, 0x41
je 0x47b3b1
mov byte [esp + 0x3b], 0
mov edi, dword [esp + 0x48]
mov ebx, closesocket
mov edx, dword [edi + 0xc]
mov dword [esp + 0x70], ebp
cmp edx, ebp
mov dword [esp + 0x6c], ebp
seta byte [esp + 0x43]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], 0
mov dword [esp + 0xdc], ebp
mov eax, dword [edi + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0xdc], eax
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x47b4d3
mov esi, dword [eax + 0x10]
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x20]
test al, al
je 0x47b4a5
push 0
mov ecx, esi
call fcn.00476aa0
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
add edx, eax
mov dword [esp + 0x5c], edx
mov ecx, dword [esi + 0x18c]
test ecx, ecx
je 0x47b442
mov cl, byte [esi + 0x198]
neg cl
sbb ecx, ecx
and ecx, eax
mov eax, dword [esp + 0x70]
add eax, ecx
mov dword [esp + 0x70], eax
jmp 0x47b458
mov dl, byte [esi + 0x198]
neg dl
sbb edx, edx
and edx, eax
mov eax, dword [esp + 0x6c]
add eax, edx
mov dword [esp + 0x6c], eax
mov ecx, esi
call fcn.00488510
cmp eax, ebx
jge 0x47b465
mov ebx, eax
cmp eax, ebp
jle 0x47b46b
mov ebp, eax
fild dword [esi + 0x1a8]
mov ecx, edi
fsubr dword [0x5fdc7c]
fimul dword [esp + 0x34]
fmul dword [0x5fdc9c]
fadd dword [esp + 0x60]
fstp dword [esp + 0x60]
mov eax, dword [edi]
call dword [eax + 0x20]
test al, al
jne 0x47b4a5
lea ecx, [esp + 0x50]
lea edx, [esp + 0x7c]
push ecx
push edx
mov ecx, esi
call fcn.00479df0
lea eax, [edi + 0x78]
push edi
push eax
mov ecx, esi
call fcn.00479c10
lea eax, [esp + 0xdc]
push eax
call fcn.004149c0
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0xe0]
add esp, 4
cmp eax, ecx
jne 0x47b3f7
mov esi, dword [edi + 0x7c]
mov ebp, dword [edi + 0x78]
lea ecx, [esp + 0x1f]
sub esi, ebp
push ecx
lea ecx, [esp + 0xac]
sar esi, 2
call fcn.00405d90
lea edx, [esp + 0x1f]
lea ecx, [esp + 0xb4]
push edx
call fcn.00405d90
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xa8]
sub ecx, eax
sar ecx, 2
cmp ecx, esi
jae 0x47b5b8
mov ecx, dword [esp + 0xac]
mov ebp, ecx
sub ebp, eax
sar ebp, 2
test eax, eax
je 0x47b57f
test esi, esi
mov ebx, ecx
mov dword [esp + 0x34], eax
je 0x47b54b
lea edx, [esi*4]
push edx
call fcn.004064d0
add esp, 4
mov edi, eax
jmp 0x47b54d
xor edi, edi
mov eax, dword [esp + 0x34]
push edi
push ebx
push eax
call fcn.004187d0
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb4]
sub ecx, eax
add esp, 0xc
sar ecx, 2
push ecx
push eax
lea ecx, [esp + 0xb8]
call fcn.00414610
jmp 0x47b599
test esi, esi
je 0x47b597
lea edx, [esi*4]
push edx
call fcn.004064d0
add esp, 4
mov edi, eax
jmp 0x47b599
xor edi, edi
lea eax, [edi + ebp*4]
lea ecx, [edi + esi*4]
mov dword [esp + 0xa8], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb4]
sub edx, eax
sar edx, 2
cmp edx, esi
jae 0x47b672
mov ecx, dword [esp + 0xb8]
mov ebp, ecx
sub ebp, eax
sar ebp, 2
test eax, eax
mov dword [esp + 0x34], ebp
je 0x47b639
test esi, esi
mov ebx, ecx
mov ebp, eax
je 0x47b605
lea eax, [esi*4]
push eax
call fcn.004064d0
add esp, 4
mov edi, eax
jmp 0x47b607
xor edi, edi
push edi
push ebx
push ebp
call fcn.004187d0
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xc0]
sub ecx, eax
add esp, 0xc
sar ecx, 2
push ecx
push eax
lea ecx, [esp + 0xc4]
call fcn.00414610
mov ebp, dword [esp + 0x34]
jmp 0x47b653
test esi, esi
je 0x47b651
lea edx, [esi*4]
push edx
call fcn.004064d0
add esp, 4
mov edi, eax
jmp 0x47b653
xor edi, edi
lea eax, [edi + ebp*4]
lea ecx, [edi + esi*4]
mov dword [esp + 0xb4], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov ebp, dword [edi + 0x78]
mov eax, dword [edi + 0x7c]
cmp ebp, eax
je 0x47b751
mov edx, dword [ebp]
mov edi, 4
mov esi, dword [edx + 0x128]
test esi, esi
je 0x47b6a6
mov eax, dword [esi]
push 0x626568
mov ecx, esi
call dword [eax + 0x1c]
test al, al
je 0x47b6a6
mov eax, esi
jmp 0x47b6a8
xor eax, eax
mov cl, byte [eax + 0x23e]
test cl, cl
je 0x47b6ba
mov ecx, dword [eax + 0x16c]
jmp 0x47b6bc
xor ecx, ecx
mov dword [esp + 0x34], ecx
mov eax, dword [eax + 0x170]
xor edx, edx
test eax, eax
setle dl
dec edx
and eax, edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xac]
cmp eax, edx
je 0x47b6f5
test eax, eax
je 0x47b6ec
mov dword [eax], ecx
add dword [esp + 0xac], edi
jmp 0x47b709
lea ecx, [esp + 0x34]
push 1
push ecx
push eax
lea ecx, [esp + 0xb4]
call fcn.0043bda0
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
cmp eax, ecx
je 0x47b72e
test eax, eax
je 0x47b725
mov edx, dword [esp + 0x68]
mov dword [eax], edx
add dword [esp + 0xb8], edi
jmp 0x47b742
lea ecx, [esp + 0x68]
push 1
push ecx
push eax
lea ecx, [esp + 0xc0]
call fcn.0043bda0
mov edx, dword [esp + 0x48]
add ebp, edi
cmp ebp, dword [edx + 0x7c]
jne 0x47b680
lea eax, [esp + 0x1f]
lea ecx, [esp + 0x77]
push eax
push ecx
lea ecx, [esp + 0x9c]
call fcn.0046e740
lea edx, [esp + 0x77]
lea eax, [esp + 0x1f]
push edx
push eax
lea ecx, [esp + 0x10c]
call fcn.0046e740
lea ecx, [esp + 0x14c]
push ecx
mov ecx, dword [esp + 0x4c]
call fcn.00479840
mov eax, dword [esp + 0x14c]
mov edx, dword [esp + 0x150]
mov ecx, eax
cmp eax, edx
mov dword [esp + 0x68], ecx
je 0x47bc75
mov eax, dword [ecx]
xor cl, cl
mov edx, dword [eax + 0x128]
mov eax, dword [esp + 0x48]
add eax, 0x78
mov dword [esp + 0x28], edx
mov byte [esp + 0x1f], cl
mov eax, dword [eax]
mov dword [esp + 0x64], 0
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x48]
cmp eax, dword [edx + 0x7c]
je 0x47b953
mov eax, dword [eax]
mov esi, dword [eax + 0x128]
test esi, esi
je 0x47b92c
mov edx, dword [esi]
push 0x624aa8
mov ecx, esi
call dword [edx + 0x1c]
test al, al
je 0x47b92c
mov eax, dword [esi]
mov edi, dword [esi + 0x10c]
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [esp + 0x28]
push edi
mov esi, eax
lea edi, [ecx + 0x2cc]
mov ecx, edi
call fcn.00458ce0
push esi
mov ecx, edi
mov ebp, eax
call fcn.00458ce0
mov edx, dword [esp + 0x28]
mov ebx, eax
lea ecx, [esp + 0x20]
mov eax, dword [edx + 0x1ec]
lea edx, [esp + 0xc4]
push ecx
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x28], eax
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x30], eax
call fcn.005d8060
mov esi, dword [esp + 0x2c]
mov ecx, dword [eax]
cmp esi, ecx
je 0x47b87f
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0x10]
cmp edx, eax
jge 0x47b8d2
lea ecx, [esp + 0x284]
call fcn.00476e30
mov ecx, dword [esp + 0x20]
mov esi, eax
mov dword [esp + 0x1a8], ecx
mov ecx, 0x1c
lea edi, [esp + 0x1ac]
lea edx, [esp + 0x1a8]
rep movsd dword es:[edi], dword [esi]
push edx
push ecx
lea eax, [esp + 0x34]
mov ecx, esp
push eax
call fcn.005d82d0
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00484230
mov esi, dword [eax]
mov dword [esp + 0x2c], esi
mov edx, dword [esp + 0x18]
lea ecx, [ebx + ebp]
mov eax, dword [edx]
mov edi, dword [eax + 0x150]
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv edi
test ecx, ecx
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fadd dword [esi + 0x24]
fstp dword [esi + 0x24]
jl 0x47b92c
mov ecx, dword [esp + 0x28]
mov al, byte [ecx + 0x3d2]
test al, al
je 0x47b92c
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x64]
cmp dword [edx + ecx], 0
je 0x47b92c
mov eax, edx
mov edx, dword [eax + ecx]
dec edx
mov dword [eax + ecx], edx
mov byte [esp + 0x1f], 1
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x64]
mov cl, byte [esp + 0x1f]
add eax, 4
add esi, 4
mov dword [esp + 0x18], eax
test cl, cl
mov dword [esp + 0x64], esi
je 0x47b7d1
jmp 0x47ba08
test cl, cl
jne 0x47ba08
mov eax, dword [esp + 0x28]
mov cl, byte [eax + 0x3d2]
test cl, cl
je 0x47ba08
mov eax, dword [eax + 0x1ec]
lea ecx, [esp + 0x20]
lea edx, [esp + 0xe4]
push ecx
push edx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x28], eax
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x100]
push ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x48], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x44]
cmp eax, dword [edx]
je 0x47b9bf
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47ba05
lea edx, [esp + 0x34]
lea eax, [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x16c]
mov dword [esp + 0x3c], 0
call fcn.004b87c0
push eax
push ecx
lea edx, [esp + 0x4c]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x100]
lea ecx, [esp + 0x9c]
push eax
call fcn.00414580
mov eax, dword [eax]
mov dword [esp + 0x44], eax
inc dword [eax + 0x14]
mov edx, dword [esp + 0x48]
xor cl, cl
mov byte [esp + 0x1f], cl
lea eax, [edx + 0x78]
mov eax, dword [edx + 0x78]
mov dword [esp + 0x64], 0
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x48]
cmp eax, dword [edx + 0x7c]
je 0x47bba6
mov eax, dword [eax]
mov esi, dword [eax + 0x128]
test esi, esi
je 0x47bb7f
mov edx, dword [esi]
push 0x624aa8
mov ecx, esi
call dword [edx + 0x1c]
test al, al
je 0x47bb7f
mov eax, dword [esi]
mov edi, dword [esi + 0x10c]
mov ecx, esi
call dword [eax + 0x20]
mov ecx, dword [esp + 0x28]
push edi
mov esi, eax
lea edi, [ecx + 0x2cc]
mov ecx, edi
call fcn.00458ce0
push esi
mov ecx, edi
mov ebp, eax
call fcn.00458ce0
mov edx, dword [esp + 0x28]
mov ebx, eax
lea ecx, [esp + 0x20]
mov eax, dword [edx + 0x1ec]
lea edx, [esp + 0xf0]
push ecx
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x28], eax
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x40], eax
call fcn.005d8060
mov esi, dword [esp + 0x3c]
mov ecx, dword [eax]
cmp esi, ecx
je 0x47bad2
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0x10]
cmp edx, eax
jge 0x47bb25
lea ecx, [esp + 0x3dc]
call fcn.00476e30
mov ecx, dword [esp + 0x20]
mov esi, eax
mov dword [esp + 0x2f8], ecx
mov ecx, 0x1c
lea edi, [esp + 0x2fc]
lea edx, [esp + 0x2f8]
rep movsd dword es:[edi], dword [esi]
push edx
push ecx
lea eax, [esp + 0x44]
mov ecx, esp
push eax
call fcn.005d82d0
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00484230
mov esi, dword [eax]
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 0x18]
lea ecx, [ebx + ebp]
mov eax, dword [edx]
mov edi, dword [eax + 0x150]
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv edi
test ecx, ecx
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fadd dword [esi + 0x24]
fstp dword [esi + 0x24]
jl 0x47bb7f
mov ecx, dword [esp + 0x28]
mov al, byte [ecx + 0x3d3]
test al, al
je 0x47bb7f
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x64]
cmp dword [edx + ecx], 0
je 0x47bb7f
mov eax, edx
mov edx, dword [eax + ecx]
dec edx
mov dword [eax + ecx], edx
mov byte [esp + 0x1f], 1
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x64]
mov cl, byte [esp + 0x1f]
add eax, 4
add esi, 4
mov dword [esp + 0x18], eax
test cl, cl
mov dword [esp + 0x64], esi
je 0x47ba24
jmp 0x47bc5b
test cl, cl
jne 0x47bc5b
mov eax, dword [esp + 0x28]
mov cl, byte [eax + 0x3d3]
test cl, cl
je 0x47bc5b
mov eax, dword [eax + 0x1ec]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x8c]
push ecx
push edx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x28], eax
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xa0]
push ecx
lea ecx, [esp + 0x108]
mov dword [esp + 0x50], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x4c]
cmp eax, dword [edx]
je 0x47bc12
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47bc58
lea edx, [esp + 0x34]
lea eax, [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x174]
mov dword [esp + 0x3c], 0
call fcn.004b87c0
push eax
push ecx
lea edx, [esp + 0x54]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xdc]
lea ecx, [esp + 0x10c]
push eax
call fcn.00414580
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
inc dword [eax + 0x14]
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x150]
add ecx, 4
cmp ecx, eax
mov dword [esp + 0x68], ecx
jne 0x47b7aa
mov esi, dword [esp + 0x48]
mov ecx, esi
call fcn.00476250
xor edi, edi
lea ebp, [esi + 0x140]
mov dword [esp + 0x68], edi
mov ebx, dword [esi + 0x13c]
cmp ebx, dword [ebp]
je 0x47bfb1
mov ecx, dword [ebx]
lea eax, [esp + 0x18]
push eax
mov edx, dword [ecx + 0x1ec]
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x20], edx
call fcn.005d3390
mov edx, dword [eax]
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x98]
mov dword [esp + 0x24], edx
call fcn.005d8060
mov ecx, eax
mov eax, dword [esp + 0x20]
cmp eax, dword [ecx]
je 0x47bcef
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
cmp edx, ecx
jge 0x47bd31
lea eax, [esp + 0x34]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x16c]
mov dword [esp + 0x3c], edi
call fcn.004b87c0
push eax
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xd0]
lea ecx, [esp + 0x9c]
push eax
call fcn.00414580
mov eax, dword [eax]
mov dword [esp + 0x20], eax
cmp dword [eax + 0x14], edi
jle 0x47be6f
lea ecx, [esp + 0x18]
lea edx, [esp + 0xe4]
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x100]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x30], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x2c]
cmp eax, dword [edx]
je 0x47bd7c
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47bdd1
lea ecx, [esp + 0x284]
call fcn.00476e30
mov edx, dword [esp + 0x18]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x1ac]
mov dword [esp + 0x1a8], edx
lea eax, [esp + 0x1a8]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x34]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x100]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
xor edi, edi
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x18]
lea edx, [esp + 0xf0]
push ecx
push edx
lea ecx, [esp + 0x9c]
mov byte [eax + 0x72], 1
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x48], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x44]
cmp eax, dword [edx]
je 0x47be1d
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47be62
lea edx, [esp + 0x78]
lea eax, [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x174]
mov dword [esp + 0x80], edi
call fcn.004b87c0
push eax
push ecx
lea edx, [esp + 0x4c]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x98]
lea ecx, [esp + 0x9c]
push eax
call fcn.00414580
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x68]
add eax, ecx
mov dword [esp + 0x68], eax
lea edx, [esp + 0x18]
lea eax, [esp + 0x8c]
push edx
push eax
lea ecx, [esp + 0x10c]
call fcn.005d3390
mov ecx, dword [eax]
lea edx, [esp + 0xa0]
mov dword [esp + 0x3c], ecx
push edx
lea ecx, [esp + 0x108]
call fcn.005d8060
mov ecx, eax
mov eax, dword [esp + 0x3c]
cmp eax, dword [ecx]
je 0x47beb7
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
cmp edx, ecx
jge 0x47beff
lea eax, [esp + 0x88]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x19c]
mov dword [esp + 0x90], edi
call fcn.004b87c0
push eax
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xdc]
lea ecx, [esp + 0x10c]
push eax
call fcn.00414580
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
cmp dword [eax + 0x14], edi
jle 0x47bfa3
lea ecx, [esp + 0x18]
lea edx, [esp + 0xec]
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xf4]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x50], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x4c]
cmp eax, dword [edx]
je 0x47bf4a
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47bf9f
lea ecx, [esp + 0x3dc]
call fcn.00476e30
mov edx, dword [esp + 0x18]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x2fc]
mov dword [esp + 0x2f8], edx
lea eax, [esp + 0x2f8]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x54]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xe8]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
xor edi, edi
mov dword [esp + 0x4c], eax
mov byte [eax + 0x74], 1
mov eax, dword [ebp]
add ebx, 4
cmp ebx, eax
jne 0x47bc9b
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
cmp eax, ecx
mov dword [esp + 0x28], eax
je 0x47cdad
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x54]
mov eax, dword [edx + 0x1ec]
lea edx, [esp + 0xc8]
push edx
mov dword [esp + 0x20], eax
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x24], eax
call fcn.005d8060
mov edx, eax
mov eax, dword [esp + 0x20]
cmp eax, dword [edx]
je 0x47c01a
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47c06d
lea ecx, [esp + 0x284]
call fcn.00476e30
mov edx, dword [esp + 0x18]
mov ecx, 0x1c
mov esi, eax
lea edi, [esp + 0x1ac]
mov dword [esp + 0x1a8], edx
lea eax, [esp + 0x1a8]
rep movsd dword es:[edi], dword [esi]
push eax
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0xd0]
lea ecx, [esp + 0x58]
push eax
call fcn.00484230
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x28]
lea esi, [eax + 0x14]
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], ecx
mov ebp, dword [edx]
mov ebx, dword [eax + 0x78]
mov edx, dword [eax + 0x7c]
add ebp, 0x2cc
cmp ebx, edx
je 0x47c13a
mov dword [esp + 0x4c], ecx
mov eax, dword [ebx]
mov edi, dword [eax + 0x128]
test edi, edi
je 0x47c0b8
mov edx, dword [edi]
push 0x626568
mov ecx, edi
call dword [edx + 0x1c]
test al, al
jne 0x47c0ba
xor edi, edi
mov eax, dword [edi + 0x10c]
mov ecx, ebp
push eax
call fcn.00458ce0
mov dword [esp + 0x34], eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
push eax
mov ecx, ebp
call fcn.00458ce0
add eax, dword [esp + 0x34]
js 0x47c11d
mov eax, dword [edi + 0x16c]
test eax, eax
je 0x47c0ff
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x4c]
cmp eax, dword [edx + ecx]
jne 0x47c0ff
inc dword [esp + 0x44]
mov edi, dword [edi + 0x170]
test edi, edi
je 0x47c11d
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x4c]
cmp edi, dword [ecx + eax]
jne 0x47c11d
inc dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
add ecx, 4
add ebx, 4
mov dword [esp + 0x4c], ecx
mov eax, dword [edx + 0x7c]
cmp ebx, eax
jne 0x47c09c
mov edi, dword [esp + 0x48]
mov ecx, edi
call fcn.00475220
test al, al
je 0x47c151
mov dword [esp + 0x3c], 0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
test al, al
je 0x47c16c
mov dword [esi + 0xc], 0x42c80000
mov ebx, dword [esp + 0x10]
jmp 0x47c2a2
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x260]
mov edi, dword [eax]
mov ebp, dword [eax]
push ecx
add edi, 0x2d8
push ebx
push edx
push 9
mov ecx, edi
call fcn.00458ce0
push eax
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0xcc]
push eax
call fcn.0047d200
add esp, 0x14
mov dword [esi + 0x4c], eax
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x264]
push edx
mov ebp, dword [ecx]
push ebx
push eax
push 0xa
mov ecx, edi
call fcn.00458ce0
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0xcc]
push eax
call fcn.0047d200
mov dword [esi + 0x48], eax
mov ecx, dword [esi + 0x4c]
add ecx, ebx
add esp, 0x14
add ecx, eax
xor ebp, ebp
mov dword [esp + 0x24], ecx
push ebp
mov ecx, edi
call fcn.00458ce0
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fst dword [esp + 0x4c]
fcomp qword [0x5fd430]
fnstsw ax
test ah, 1
mov eax, dword [esp + ebp*4 + 0x23c]
je 0x47c221
test eax, eax
jle 0x47c26e
fld dword [esp + 0x4c]
jmp 0x47c268
cmp ebp, 9
mov dword [esp + 0x2c], eax
jne 0x47c22f
mov ecx, dword [esi + 0x4c]
jmp 0x47c237
cmp ebp, 0xa
jne 0x47c23d
mov ecx, dword [esi + 0x48]
add eax, ecx
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fmul dword [0x5fdc7c]
fidiv dword [esp + 0x24]
fstp dword [esp + 0x2c]
fld dword [esp + 0x4c]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 1
lea eax, [esp + 0x4c]
jne 0x47c266
lea eax, [esp + 0x2c]
fld dword [eax]
fadd dword [esi + 0xc]
fstp dword [esi + 0xc]
inc ebp
cmp ebp, 0x12
jl 0x47c1ef
lea ecx, [esi + 0xc]
mov dword [esp + 0x138], 0x42c80000
fld dword [ecx]
fcomp dword [0x5fdc7c]
fnstsw ax
test ah, 1
mov eax, ecx
jne 0x47c29e
lea eax, [esp + 0x138]
mov edx, dword [eax]
mov dword [ecx], edx
fild dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x128], 0x3f800000
fst dword [esp + 0x2c]
fmul dword [0x5fdc98]
fst dword [esp + 0x24]
fcomp dword [0x5fca1c]
fnstsw ax
test ah, 1
lea eax, [esp + 0x128]
jne 0x47c2db
lea eax, [esp + 0x24]
fld dword [eax]
fmul dword [0x5fdc7c]
lea ecx, [esi + 0x10]
fdivr dword [ecx]
fstp dword [ecx]
mov dword [esp + 0x118], 0x42c80000
fld dword [ecx]
fcomp dword [0x5fdc7c]
fnstsw ax
test ah, 1
mov eax, ecx
jne 0x47c30d
lea eax, [esp + 0x118]
fld dword [eax]
fst dword [ecx]
fcom dword [0x5fca20]
fnstsw ax
test ah, 1
je 0x47c328
fmul dword [0x5fdc78]
fstp dword [ecx]
jmp 0x47c32a
fstp st(0)
mov ecx, dword [ebp]
xor edi, edi
mov eax, dword [ecx]
call dword [eax + 0xcc]
test al, al
je 0x47c346
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
lea edi, [ecx + edx]
add edi, ebx
mov dword [esp + 0x24], edi
fild dword [esp + 0x24]
fild dword [esi + 0x14]
fmul dword [0x5fdc7c]
fdiv st(1)
fstp dword [esp + 0x14]
mov eax, dword [ebp]
fild dword [eax + 0x34c]
fld st(0)
fsub dword [0x5fdc94]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
je 0x47c3b2
fld dword [esp + 0x14]
fcomp dword [0x5fca20]
fnstsw ax
test ah, 0x40
je 0x47c399
fcom dword [0x5fca20]
fnstsw ax
test ah, 0x41
je 0x47c3b2
fld st(0)
fadd dword [0x5fdc94]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x47c3b6
mov byte [esi + 0x5b], 1
jmp 0x47c3b6
mov byte [esi + 0x5a], 1
fsubr dword [esp + 0x14]
fabs
fcom dword [0x5fdc90]
fst dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x47c3d1
mov byte [esi + 0x68], 1
fcomp dword [0x5fdc78]
mov dword [esp + 0x148], 0x42480000
mov dword [esp + 0x130], 0
lea ecx, [esp + 0x14]
fnstsw ax
test ah, 1
jne 0x47c3ff
lea ecx, [esp + 0x148]
fld dword [0x5fca20]
fcomp dword [ecx]
fnstsw ax
test ah, 1
mov eax, ecx
jne 0x47c417
lea eax, [esp + 0x130]
fld dword [eax]
fmul dword [0x5fdc94]
lea ecx, [esi + 0x18]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd st(0), st(0)
fsubr dword [0x5fdc7c]
fstp dword [ecx]
mov dword [esp + 0x114], 0x42c80000
fld dword [ecx]
fcomp dword [0x5fdc7c]
fnstsw ax
test ah, 1
mov eax, ecx
jne 0x47c457
lea eax, [esp + 0x114]
mov edx, dword [eax]
mov dword [ecx], edx
fild dword [esi + 0x1c]
fmul dword [0x5fdc7c]
fxch st(1)
fmul dword [0x5fdc94]
fdivp st(1)
fstp dword [esp + 0x14]
mov eax, dword [ebp]
fild dword [eax + 0x350]
fld st(0)
fsub dword [0x5fdc94]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
je 0x47c4c5
fld dword [esp + 0x14]
fcomp dword [0x5fca20]
fnstsw ax
test ah, 0x40
je 0x47c4ac
fcom dword [0x5fca20]
fnstsw ax
test ah, 0x41
je 0x47c4c5
fld st(0)
fadd dword [0x5fdc94]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x47c4c9
mov byte [esi + 0x59], 1
jmp 0x47c4c9
mov byte [esi + 0x58], 1
fsubr dword [esp + 0x14]
fabs
fcom dword [0x5fdc90]
fst dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x47c4e4
mov byte [esi + 0x67], 1
fcomp dword [0x5fdc78]
mov dword [esp + 0x11c], 0x42480000
mov dword [esp + 0x110], 0
lea ecx, [esp + 0x14]
fnstsw ax
test ah, 1
jne 0x47c512
lea ecx, [esp + 0x11c]
fld dword [0x5fca20]
fcomp dword [ecx]
fnstsw ax
test ah, 1
mov eax, ecx
jne 0x47c52a
lea eax, [esp + 0x110]
fld dword [eax]
fmul dword [0x5fdc8c]
lea ecx, [esi + 0x20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd st(0), st(0)
fsubr dword [0x5fdc7c]
fstp dword [ecx]
mov dword [esp + 0x12c], 0x42c80000
fld dword [ecx]
fcomp dword [0x5fdc7c]
fnstsw ax
test ah, 1
mov eax, ecx
jne 0x47c56a
lea eax, [esp + 0x12c]
mov edx, dword [eax]
mov dword [ecx], edx
fild dword [esp + 0xcc]
fmul dword [0x5fdc78]
fdiv dword [esp + 0x2c]
fstp dword [esp + 0x14]
mov eax, dword [ebp]
fild dword [eax + 0x358]
fld st(0)
fsub dword [0x5fdc88]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x47c5a5
mov byte [esi + 0x5c], 1
jmp 0x47c5bc
fld st(0)
fadd dword [0x5fdc88]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x47c5bc
mov byte [esi + 0x5d], 1
fsubr dword [esp + 0x14]
fabs
fcom dword [0x5fdc84]
fst dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x47c5d7
mov byte [esi + 0x69], 1
fcomp dword [0x5fdc78]
mov dword [esp + 0x134], 0x42480000
mov dword [esp + 0x13c], 0
lea ecx, [esp + 0x14]
fnstsw ax
test ah, 1
jne 0x47c605
lea ecx, [esp + 0x134]
fld dword [0x5fca20]
fcomp dword [ecx]
fnstsw ax
test ah, 1
mov eax, ecx
jne 0x47c61d
lea eax, [esp + 0x13c]
mov ecx, dword [eax]
lea edi, [esi + 0x24]
fld dword [0x5fdc7c]
mov dword [esp + 0x14], ecx
fsub dword [esp + 0x14]
fstp dword [edi]
mov dword [esp + 0x124], 0x42c80000
fld dword [edi]
fcomp dword [0x5fdc7c]
fnstsw ax
test ah, 1
mov eax, edi
jne 0x47c655
lea eax, [esp + 0x124]
mov edx, dword [eax]
mov ecx, dword [esp + 0x48]
mov dword [edi], edx
mov eax, dword [ecx]
call dword [eax + 0x20]
test al, al
je 0x47c6a7
mov al, byte [esp + 0x43]
test al, al
jne 0x47c6a7
mov ecx, dword [ebp]
mov edx, dword [ecx]
call dword [edx + 0xcc]
test al, al
je 0x47c6a7
mov byte [esi + 0x5a], 0
mov byte [esi + 0x5b], 0
mov byte [esi + 0x68], 0
mov byte [esi + 0x58], 0
mov byte [esi + 0x59], 0
mov byte [esi + 0x67], 0
mov byte [esi + 0x5c], 0
mov byte [esi + 0x5d], 0
mov byte [esi + 0x69], 0
mov dword [edi], 0x42c80000
mov eax, dword [esp + 0x44]
xor edi, edi
cmp eax, edi
jle 0x47c6be
cmp eax, 3
mov byte [esi + 0x5f], 1
jle 0x47c6be
mov byte [esi + 0x6a], 1
mov cl, byte [esi + 0x5e]
test cl, cl
je 0x47c9d7
lea eax, [esp + 0x18]
lea ecx, [esp + 0xe4]
push eax
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x1c], 0
call fcn.005d3390
mov edx, dword [eax]
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x98]
mov dword [esp + 0xc4], edx
call fcn.005d8060
mov ecx, eax
mov eax, dword [esp + 0xc0]
cmp eax, dword [ecx]
je 0x47c71f
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jge 0x47c76d
lea edx, [esp + 0x140]
lea eax, [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x23c]
mov dword [esp + 0x148], edi
call fcn.004b87c0
push eax
push ecx
lea edx, [esp + 0xc8]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x100]
lea ecx, [esp + 0x9c]
push eax
call fcn.00414580
mov eax, dword [eax]
mov dword [esp + 0xc0], eax
cmp dword [eax + 0x14], 4
jl 0x47c8c6
lea ecx, [esp + 0x18]
lea edx, [esp + 0xf0]
push ecx
push edx
lea ecx, [esp + 0x9c]
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x8c], eax
call fcn.005d8060
mov ecx, eax
mov eax, dword [esp + 0x88]
cmp eax, dword [ecx]
je 0x47c7c5
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
cmp edx, ecx
jge 0x47c813
lea eax, [esp + 0x120]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x234]
mov dword [esp + 0x128], edi
call fcn.004b87c0
push eax
push ecx
lea edx, [esp + 0x90]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x1ac]
lea ecx, [esp + 0x9c]
push eax
call fcn.00414580
mov eax, dword [eax]
mov dword [esp + 0x88], eax
cmp dword [eax + 0x14], 6
jg 0x47c8c6
lea ecx, [esp + 0x18]
lea edx, [esp + 0x1a0]
push ecx
push edx
lea ecx, [esp + 0x9c]
call fcn.005d3390
mov eax, dword [eax]
lea ecx, [esp + 0x190]
push ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x7c], eax
call fcn.005d8060
mov ecx, eax
mov eax, dword [esp + 0x78]
cmp eax, dword [ecx]
je 0x47c865
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
cmp edx, ecx
jge 0x47c8b0
lea eax, [esp + 0x144]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x224]
mov dword [esp + 0x14c], edi
call fcn.004b87c0
push eax
push ecx
lea edx, [esp + 0x80]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x9c]
push eax
call fcn.00414580
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov eax, dword [eax + 0x14]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
jmp 0x47c9b3
lea edx, [esp + 0x18]
lea eax, [esp + 0x194]
push edx
push eax
lea ecx, [esp + 0x9c]
call fcn.005d3390
mov ecx, dword [eax]
lea edx, [esp + 0x16c]
mov dword [esp + 0x64], ecx
push edx
lea ecx, [esp + 0x98]
call fcn.005d8060
push eax
lea ecx, [esp + 0xe4]
call fcn.005d82d0
lea eax, [esp + 0xe0]
lea ecx, [esp + 0x64]
push eax
call fcn.0047d050
test al, al
jne 0x47c946
lea ecx, [esp + 0x64]
call fcn.00483ba0
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x7b]
push ecx
push edx
lea ecx, [esp + 0xa0]
call fcn.004843d0
mov ecx, eax
call fcn.00483ef0
test al, al
je 0x47c98e
lea eax, [esp + 0xf4]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x22c]
mov dword [esp + 0xfc], edi
call fcn.004b87c0
push eax
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
push edx
call fcn.005d82d0
lea eax, [esp + 0x16c]
lea ecx, [esp + 0x9c]
push eax
call fcn.00414580
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x64]
call fcn.00483ba0
cmp dword [eax + 4], 6
jle 0x47c9bb
mov eax, dword [esp + 0x68]
lea eax, [eax + eax*4 - 0x1e]
lea edx, [eax + eax*4]
shl edx, 2
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x94]
push eax
call fcn.005ced40
cmp dword [eax], 7
jle 0x47ca2b
mov byte [esi + 0x6a], 1
jmp 0x47ca2b
mov cl, byte [esi + 0x5f]
test cl, cl
je 0x47ca23
cmp eax, 2
jle 0x47c9ff
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
shl ecx, 1
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fadd dword [0x5fdc7c]
fstp dword [esp + 0x14]
jmp 0x47ca07
mov dword [esp + 0x14], 0
mov cl, byte [esi + 0x6a]
test cl, cl
je 0x47ca2b
add eax, 0xfffffffd
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul dword [esp + 0x14]
fstp dword [esp + 0x14]
jmp 0x47ca2b
mov dword [esp + 0x14], 0
fld dword [0x5fdc7c]
fsub dword [esp + 0x14]
lea edi, [esi + 0x30]
lea edx, [esp + 0xec]
push edi
push edx
fstp dword [edi]
mov dword [esp + 0xf4], 0x42c80000
call fcn.00485260
mov eax, dword [eax]
add esp, 8
mov dword [edi], eax
mov ecx, dword [esp + 0x3c]
cmp ecx, 1
jle 0x47ca70
cmp ecx, 2
mov byte [esi + 0x61], 1
jle 0x47ca70
mov byte [esi + 0x6b], 1
mov al, byte [esi + 0x60]
test al, al
je 0x47cac0
lea ecx, [esp + 0x18]
mov dword [esp + 0x14], 0
push ecx
lea ecx, [esp + 0x108]
call fcn.005ced40
cmp dword [eax], 3
jle 0x47cb14
lea edx, [esp + 0x18]
lea ecx, [esp + 0x104]
push edx
call fcn.005ced40
mov eax, dword [eax]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
jmp 0x47cb14
mov al, byte [esi + 0x61]
test al, al
je 0x47cb0c
cmp ecx, 2
jle 0x47cae8
lea eax, [ecx + ecx*4]
lea edx, [eax + eax*4]
shl edx, 1
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [0x5fdc7c]
fstp dword [esp + 0x14]
jmp 0x47caf0
mov dword [esp + 0x14], 0
mov al, byte [esi + 0x6b]
test al, al
je 0x47cb14
add ecx, 0xfffffffe
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fmul dword [esp + 0x14]
fstp dword [esp + 0x14]
jmp 0x47cb14
mov dword [esp + 0x14], 0
fld dword [0x5fdc7c]
fsub dword [esp + 0x14]
lea edi, [esi + 0x34]
lea eax, [esp + 0xd4]
push edi
push eax
fstp dword [edi]
mov dword [esp + 0xdc], 0x42c80000
call fcn.00485260
mov ecx, dword [eax]
add esp, 8
mov dword [edi], ecx
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebx]
call fcn.0047d110
lea ecx, [esp + 0x158]
mov ebp, eax
call fcn.00483bf0
lea ecx, [esp + 0x158]
mov edi, eax
call fcn.00483c00
cmp edi, eax
je 0x47cbf2
mov ecx, dword [edi]
call fcn.0047d0e0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], eax
cmp ecx, eax
je 0x47cbdf
mov ecx, dword [edi]
call fcn.0047d0c0
mov ecx, dword [edi]
mov ebx, eax
call fcn.0047d0d0
mov edx, dword [esp + 0x24]
mov ecx, ebp
push edx
mov dword [esp + 0x38], eax
call fcn.00458ce0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
push eax
mov ecx, ebp
call fcn.00458ce0
push ebx
mov ecx, ebp
mov dword [esp + 0x28], eax
call fcn.00458ce0
mov ecx, dword [esp + 0x24]
add eax, ecx
mov ecx, dword [esp + 0x2c]
add eax, ecx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd dword [esi + 0x38]
fstp dword [esi + 0x38]
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x158]
add edi, 4
call fcn.00483c00
cmp edi, eax
jne 0x47cb72
mov ebp, dword [esp + 0x48]
lea edi, [esi + 0x50]
lea eax, [esi + 0x3c]
mov ecx, ebp
mov dword [edi], 0x42c80000
mov dword [esp + 0x34], eax
mov dword [eax], 0x42c80000
mov eax, dword [ebx]
mov edx, dword [ebp]
push eax
call dword [edx + 0x28]
test al, al
je 0x47cc23
fld dword [0x5fdc7c]
jmp 0x47cc29
fld dword [0x5fdc80]
fstp dword [esi + 0x54]
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x20]
test al, al
je 0x47cd6b
mov ecx, ebp
call fcn.0047d170
mov dword [esp + 0x24], eax
mov ecx, ebp
fild dword [esp + 0x24]
fstp dword [edi]
call fcn.00488510
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fstp dword [esp + 0x14]
mov ecx, dword [ebx]
call fcn.0047d0f0
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fstp dword [esp + 0x2c]
mov ecx, dword [ebx]
call fcn.0047d100
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fstp dword [esp + 0x44]
fld dword [esp + 0x2c]
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 0x40
jne 0x47cd97
fld dword [esp + 0x14]
fcomp dword [esp + 0x2c]
fld dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x47ccbc
fsub dword [esp + 0x2c]
fabs
fstp dword [esp + 0x14]
mov byte [esi + 0x62], 1
jmp 0x47cce3
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 0x41
jne 0x47ccdb
fld dword [esp + 0x14]
fsub dword [esp + 0x44]
fabs
fstp dword [esp + 0x14]
mov byte [esi + 0x63], 1
jmp 0x47cce3
mov dword [esp + 0x14], 0
lea eax, [esp + 0x14]
lea ecx, [esp + 0xa0]
push eax
push ecx
mov dword [esp + 0xa8], 0x41f00000
mov dword [esp + 0x94], 0
call fcn.00485260
lea edx, [esp + 0x94]
push eax
push edx
call fcn.00485280
fld dword [eax]
fmul dword [0x5fdc84]
add esp, 0x10
fst dword [esp + 0x14]
fcomp dword [0x5fdc78]
fnstsw ax
test ah, 1
jne 0x47cd39
mov byte [esi + 0x6c], 1
fld dword [0x5fdc7c]
fsub dword [esp + 0x14]
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x90]
push esi
push eax
fstp dword [esi]
mov dword [esp + 0x98], 0x42c80000
call fcn.00485260
mov ecx, dword [eax]
add esp, 8
mov dword [esi], ecx
jmp 0x47cd97
mov ecx, dword [ebx]
mov edx, dword [ecx]
call dword [edx + 0xcc]
test al, al
je 0x47cd97
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x47cd97
fild dword [esp + 0x5c]
fdivr dword [esp + 0x60]
fmul dword [0x5fdc7c]
fsubr dword [0x5fdc7c]
fstp dword [edi]
mov eax, dword [esp + 0x80]
add ebx, 4
cmp ebx, eax
mov dword [esp + 0x28], ebx
jne 0x47bfc8
mov ebp, dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
lea ecx, [ebp + 0x148]
call fcn.00483c10
call fcn.0047d0a0
mov ecx, eax
call fcn.0047d0b0
mov edi, eax
mov ecx, edi
call fcn.00483bf0
mov ecx, edi
mov esi, eax
call fcn.00483c00
cmp esi, eax
je 0x47ce15
mov ecx, dword [esi]
push ecx
call fcn.004852a0
add esp, 4
test eax, eax
je 0x47cdfe
push ebp
mov ecx, eax
call fcn.004e8ed0
test al, al
jne 0x47ce0e
mov ecx, edi
add esi, 4
call fcn.00483c00
cmp esi, eax
jne 0x47cde3
jmp 0x47ce15
mov byte [ebp + 0x131], 1
mov edx, dword [esp + 0x10]
mov al, byte [esp + 0x33]
mov cl, byte [esp + 0x3b]
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x6c]
mov byte [esp + 0x178], al
mov eax, dword [esp + 0x70]
mov byte [esp + 0x179], cl
lea ecx, [esp + 0x14c]
mov dword [esp + 0x17c], edx
mov dword [esp + 0x180], eax
call fcn.00483bf0
mov esi, eax
lea ecx, [esp + 0x14c]
mov dword [esp + 0x68], esi
call fcn.00483c00
cmp esi, eax
je 0x47cfba
mov edi, dword [esi]
mov ecx, edi
call fcn.0047d160
test al, al
jne 0x47cf9f
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x20]
test al, al
je 0x47cea9
mov ecx, edi
call fcn.0047d120
test al, al
je 0x47cea9
mov ecx, edi
call fcn.00512e90
cmp eax, ebp
jne 0x47cf9f
mov ecx, edi
call fcn.0047d090
push eax
call fcn.004850f0
add esp, 4
mov ecx, eax
call fcn.0047d0e0
mov dword [esp + 0x90], eax
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x54]
call fcn.00483d20
mov ecx, edi
mov dword [esp + 0x60], eax
call fcn.0047d120
test al, al
je 0x47cf82
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x20]
test al, al
je 0x47cf82
lea eax, [esp + 0x164]
lea esi, [ebp + 8]
push eax
mov ecx, esi
xor bl, bl
call fcn.00470dc0
mov ecx, dword [eax]
lea edx, [esp + 0x8c]
mov dword [esp + 0x10], ecx
push edx
mov ecx, esi
call fcn.005d8060
push eax
lea ecx, [esp + 0x14]
call fcn.0047d070
test al, al
je 0x47cf72
lea ecx, [esp + 0x10]
call fcn.00483ba0
mov eax, dword [eax]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
je 0x47cf70
lea ecx, [esp + 0x10]
call fcn.00483bb0
lea eax, [esp + 0x8c]
mov ecx, esi
push eax
call fcn.005d8060
push eax
lea ecx, [esp + 0x14]
call fcn.0047d070
test al, al
jne 0x47cf32
jmp 0x47cf72
mov bl, 1
mov edx, dword [esp + 0x60]
test bl, bl
sete cl
mov byte [edx + 0x6d], cl
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
lea eax, [esp + 0x174]
lea ecx, [esp + 0x23c]
push eax
push ecx
push edx
push edi
mov ecx, ebp
call fcn.0047d2e0
add esi, 4
lea ecx, [esp + 0x14c]
mov dword [esp + 0x68], esi
call fcn.00483c00
cmp esi, eax
jne 0x47ce72
mov ecx, ebp
call fcn.00476530
mov ecx, ebp
call fcn.0047dcf0
mov byte [ebp + 0x2f], 0
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0x14c]
mov byte [eax], 0
call fcn.0041d300
lea ecx, [esp + 0x104]
call fcn.0047d270
lea ecx, [esp + 0x94]
call fcn.0047d270
lea ecx, [esp + 0xb4]
call fcn.0040ee80
lea ecx, [esp + 0xa8]
call fcn.0040ee80
lea ecx, [esp + 0x184]
call fcn.00483a80
lea ecx, [esp + 0x158]
call fcn.0041d300
lea ecx, [esp + 0x50]
call fcn.0047d180
lea ecx, [esp + 0x7c]
call fcn.0041d300
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xcb4
ret