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

Disassembly:
push 0xffffffffffffffff
push 0x75967a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x344
push ebx
push ebp
push esi
mov esi, ecx
or ebp, 0xffffffff
push edi
mov eax, dword [esi + 0x230]
mov dword [esp + 0x18], esi
test eax, eax
jne 0x652c6b
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], al
call fcn.00404760
mov edi, 0x7a98fc
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x34]
call fcn.004047b0
mov ecx, dword [esi + 0x234]
mov eax, 0x51eb851f
imul ecx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x35c], 0
sar edx, 5
mov eax, edx
shr eax, 0x1f
test ebx, ebx
lea edi, [edx + eax + 1]
jne 0x652c17
mov ebx, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push edi
push ebx
push 0x93bab0
call fcn.00727335
mov eax, dword [esi + 0x234]
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [esi + 0x234]
add esp, 0x18
inc ecx
mov dword [esi + 0x234], ecx
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x360], ebp
call fcn.00404760
mov ecx, dword [0x93c98c]
mov edx, dword [ecx]
mov edi, dword [ecx + 0x8a0]
mov ebx, dword [ecx + 0x8a4]
call dword [edx]
mov eax, dword [0x93c98c]
mov dword [eax + 0x8a0], edi
mov ecx, dword [0x93c98c]
mov dword [ecx + 0x8a4], ebx
mov eax, dword [esi + 0x230]
test eax, eax
jne 0x652d5b
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], dl
call fcn.00404760
mov edi, 0x7a98fc
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x34]
call fcn.004047b0
mov ecx, dword [esi + 0x234]
mov eax, 0x51eb851f
imul ecx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x35c], 1
sar edx, 5
mov eax, edx
shr eax, 0x1f
test ebx, ebx
lea edi, [edx + eax + 1]
jne 0x652d07
mov ebx, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push edi
push ebx
push 0x93bab0
call fcn.00727335
mov eax, dword [esi + 0x234]
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [esi + 0x234]
add esp, 0x18
inc ecx
mov dword [esi + 0x234], ecx
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x360], ebp
call fcn.00404760
mov ebp, dword [esp + 0x368]
mov ebx, dword [esp + 0x364]
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x652d7f
xor ecx, ecx
jmp 0x652d87
mov edx, dword [ebx + 8]
mov cx, word [edx + eax - 2]
inc eax
movsx esi, cx
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x652d9c
mov byte [esp + 0x1c], 0
jmp 0x652da7
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x1c], dl
mov edi, dword [esp + 0x1c]
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0xc4]
and edi, 0xff
mov byte [esp + 0xc4], al
call fcn.00404760
lea ecx, [esp + 0xc0]
push edi
push ecx
push ebp
push ebx
mov dword [esp + 0x36c], 2
call fcn.0045cc90
mov ecx, dword [0x93c98c]
add esp, 0x10
lea edx, [esp + 0xc0]
push 0xff64d2ff
push edx
push esi
call fcn.00462330
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x652e17
xor ecx, ecx
jmp 0x652e1f
mov ecx, dword [ebx + 8]
mov cx, word [ecx + eax - 2]
and ecx, 0xffff
add eax, 2
mov dword [esp + 0x28], ecx
mov dword [ebp], eax
fild dword [esp + 0x28]
cmp eax, dword [ebx + 4]
fmul dword [0x766428]
fstp dword [esp + 0x64]
jle 0x652e46
xor ecx, ecx
jmp 0x652e4e
mov edx, dword [ebx + 8]
mov cx, word [edx + eax - 2]
and ecx, 0xffff
add eax, 2
mov dword [esp + 0x28], ecx
mov dword [ebp], eax
fild dword [esp + 0x28]
cmp eax, dword [ebx + 4]
fmul dword [0x766428]
fstp dword [esp + 0x54]
jle 0x652e75
xor ecx, ecx
jmp 0x652e7d
mov ecx, dword [ebx + 8]
mov cx, word [ecx + eax - 2]
movsx edx, cx
mov dword [esp + 0x28], edx
inc eax
fild dword [esp + 0x28]
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
fmul dword [0x766428]
fstp dword [esp + 0x68]
jle 0x652ea4
mov byte [esp + 0x1c], 0
jmp 0x652eaf
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x1c], dl
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x490], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x652edb
mov byte [esp + 0x1c], 0
jmp 0x652ee6
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x1c], al
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x93c98c]
and ecx, 0xff
mov dword [edx + 0x48c], ecx
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x652f12
xor eax, eax
jmp 0x652f1a
mov ecx, dword [ebx + 8]
mov ax, word [ecx + eax - 2]
movsx edx, ax
mov eax, dword [0x93c98c]
mov dword [eax + 0x494], edx
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x652f3f
mov byte [esp + 0x1c], 0
jmp 0x652f4a
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x1c], dl
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x7dc], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x652f76
mov byte [esp + 0x1c], 0
jmp 0x652f81
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x1c], al
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x93c98c]
and ecx, 0xff
mov dword [edx + 0x7e0], ecx
mov ecx, dword [0x93c98c]
mov eax, dword [ecx + 0x48c]
cmp eax, 4
jne 0x652ff0
mov ecx, dword [ecx + 0x494]
cmp ecx, 0x67
je 0x652fbd
cmp ecx, 0x6d
je 0x652fbd
cmp ecx, 0x6e
jne 0x652ff0
mov esi, dword [0x93c90c]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x20]
push eax
push ecx
lea ecx, [esi + 0x14]
mov dword [esp + 0x30], 5
call fcn.0045e3a0
mov esi, dword [esi + 0x18]
mov edi, dword [esp + 0x20]
cmp edi, esi
jne 0x65301f
xor edi, edi
mov dword [esp + 0x1c], edi
jmp 0x65302a
mov esi, dword [0x93c90c]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x28]
lea eax, [esp + 0x20]
push edx
push eax
lea ecx, [esi + 0x14]
call fcn.0045e3a0
mov esi, dword [esi + 0x18]
mov edi, dword [esp + 0x20]
cmp edi, esi
jne 0x65301f
xor edi, edi
mov dword [esp + 0x1c], edi
jmp 0x65302a
add edi, 0x10
test edi, edi
mov dword [esp + 0x1c], edi
jne 0x653044
mov ecx, dword [0x93c98c]
mov edx, dword [ecx + 0x48c]
push edx
push 0x7a98a8
call fcn.00455190
add esp, 8
mov ecx, dword [0x93c98c]
push 0
push edi
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653069
mov byte [esp + 0x14], 0
jmp 0x653074
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x7e8], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6530a0
mov byte [esp + 0x14], 0
jmp 0x6530ab
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
mov edx, dword [0x93c98c]
and ecx, 0xff
mov dword [edx + 0x7ec], ecx
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6530d8
mov byte [esp + 0x14], 0
jmp 0x6530e3
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x498], eax
mov eax, dword [0x93c98c]
mov edx, dword [eax + 0x498]
mov dword [eax + 0x804], edx
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x65311f
xor eax, eax
jmp 0x653127
mov ecx, dword [ebx + 8]
mov ax, word [ecx + eax - 2]
movsx edx, ax
mov eax, dword [0x93c98c]
mov dword [eax + 0x800], edx
mov edx, dword [ebp]
add edx, 4
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x65314b
xor eax, eax
jmp 0x653152
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + eax - 4]
mov edx, dword [0x93c98c]
mov dword [edx + 0x818], eax
mov edx, dword [ebp]
add edx, 4
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653174
xor eax, eax
jmp 0x65317b
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + eax - 4]
mov edx, dword [0x93c98c]
mov dword [edx + 0x81c], eax
mov edx, dword [ebp]
add edx, 4
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x65319d
xor eax, eax
jmp 0x6531a4
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + eax - 4]
mov edx, dword [0x93c98c]
mov dword [edx + 0x820], eax
mov edx, dword [ebp]
add edx, 4
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6531c6
xor eax, eax
jmp 0x6531cd
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + eax - 4]
mov edx, dword [0x93c98c]
mov dword [edx + 0x824], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6531f0
mov byte [esp + 0x14], 0
jmp 0x6531fb
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [0x93c98c]
mov dl, byte [esp + 0x13]
and eax, 0xff
mov dword [ecx + 0x7e4], eax
push 0
lea ecx, [esp + 0xac]
mov byte [esp + 0xac], dl
call fcn.00404760
mov edx, dword [ebp]
mov byte [esp + 0x35c], 3
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653247
xor ecx, ecx
jmp 0x65324f
mov ecx, dword [ebx + 8]
mov cx, word [ecx + eax - 2]
inc eax
movsx edx, cx
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
mov dword [esp + 0x28], edx
jle 0x653268
mov byte [esp + 0x14], 0
jmp 0x653273
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov ecx, dword [esp + 0x14]
add eax, 2
and ecx, 0xff
mov dword [ebp], eax
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x653292
xor ecx, ecx
jmp 0x65329a
mov ecx, dword [ebx + 8]
mov cx, word [ecx + eax - 2]
inc eax
mov dword [ebp], eax
mov edx, dword [ebx + 4]
cmp eax, edx
movsx ecx, cx
jle 0x6532af
mov byte [esp + 0x14], 0
jmp 0x6532ba
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x14], al
mov edx, dword [esp + 0x14]
mov eax, dword [0x93c98c]
and edx, 0xff
mov dword [eax + 0x828], edx
mov edx, dword [0x93c98c]
mov eax, dword [esp + 0x18]
mov dword [edx + 0x4bc], ecx
mov ecx, dword [eax + 0x230]
test ecx, ecx
jne 0x6533a9
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.00404760
mov edi, 0x7a98fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x34]
call fcn.004047b0
mov edx, dword [esp + 0x18]
mov eax, 0x51eb851f
mov esi, dword [esp + 0x30]
mov byte [esp + 0x35c], 4
mov ecx, dword [edx + 0x234]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
test esi, esi
lea edi, [edx + eax + 1]
jne 0x653350
mov esi, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push edi
push esi
push 0x93bab0
call fcn.00727335
mov esi, dword [esp + 0x28]
mov ecx, 0x64
mov eax, dword [esi + 0x234]
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [esi + 0x234]
add esp, 0x18
inc ecx
mov dword [esi + 0x234], ecx
push 1
lea ecx, [esp + 0x30]
mov byte [esp + 0x360], 3
call fcn.00404760
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x40]
test ecx, ecx
je 0x6533b9
call fcn.0058cfb0
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6533d0
mov byte [esp + 0x14], 0
jmp 0x6533db
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
and eax, 0xff
push eax
lea eax, [esp + 0xac]
push eax
push ebp
push ebx
call fcn.0045cc90
mov edx, dword [ebp]
add esp, 0x10
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x65340e
mov byte [esp + 0x14], 0
jmp 0x653419
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov esi, dword [esp + 0x14]
and esi, 0xff
inc eax
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x653435
mov byte [esp + 0x14], 0
jmp 0x653440
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov edi, dword [esp + 0x14]
add eax, 2
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
and edi, 0xff
cmp eax, ecx
jle 0x65345b
xor eax, eax
jmp 0x653463
mov ecx, dword [ebx + 8]
mov ax, word [ecx + eax - 2]
movsx edx, ax
mov eax, dword [0x93c98c]
mov dword [eax + 0x4e0], edx
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653487
xor eax, eax
jmp 0x65348f
mov ecx, dword [ebx + 8]
mov ax, word [ecx + eax - 2]
movsx edx, ax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xbc], edx
cmp eax, 0x64
jne 0x6534d9
mov ecx, dword [0x93cc48]
test ecx, ecx
je 0x6534bf
mov eax, dword [0x93c98c]
mov edx, dword [eax + 0x490]
push edx
push 0
call fcn.00597eb0
mov ecx, dword [0x93c98c]
call fcn.0046e8e0
test al, al
jne 0x6534d9
mov ecx, dword [0x93c98c]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov ecx, dword [0x93c98c]
mov edx, dword [esp + 0x40]
push edi
push esi
mov dword [ecx + 0x4f0], edx
mov ecx, dword [0x93c98c]
lea edx, [esp + 0xb0]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x34]
push edx
call dword [eax + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x653513
call fcn.0058dbc0
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x230]
test eax, eax
jne 0x6535df
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.00404760
mov edi, 0x7a98fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x34]
call fcn.004047b0
mov edx, esi
mov eax, 0x51eb851f
mov esi, dword [esp + 0x30]
mov byte [esp + 0x35c], 5
mov ecx, dword [edx + 0x234]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
test esi, esi
lea edi, [edx + eax + 1]
jne 0x653586
mov esi, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push edi
push esi
push 0x93bab0
call fcn.00727335
mov esi, dword [esp + 0x28]
mov ecx, 0x64
mov eax, dword [esi + 0x234]
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [esi + 0x234]
add esp, 0x18
inc ecx
mov dword [esi + 0x234], ecx
push 1
lea ecx, [esp + 0x30]
mov byte [esp + 0x360], 3
call fcn.00404760
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6535f5
xor eax, eax
jmp 0x6535fd
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x49c], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653622
xor eax, eax
jmp 0x65362a
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x4a0], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x65364f
xor eax, eax
jmp 0x653657
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x808], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x65367c
xor eax, eax
jmp 0x653684
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x80c], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6536a9
xor eax, eax
jmp 0x6536b1
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x82c], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6536d6
xor eax, eax
jmp 0x6536de
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
mov dl, byte [esp + 0x13]
movsx eax, ax
mov dword [ecx + 0x830], eax
push 0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x9c], dl
call fcn.00404760
lea eax, [esp + 0x98]
mov byte [esp + 0x35c], 6
push eax
push 0xa2b
call fcn.006a8c20
mov ecx, dword [esp + 0xa4]
add esp, 8
test ecx, ecx
jne 0x653733
mov ecx, 0x765608
mov eax, dword [0x93c98c]
sub esp, 8
sub esp, 8
fild dword [eax + 0x82c]
fmul qword [0x76cab8]
fstp qword [esp + 8]
fild dword [eax + 0x830]
fmul qword [0x76cab8]
fstp qword [esp]
push ecx
lea ecx, [esp + 0xe4]
push ecx
call fcn.00727335
mov eax, dword [esi + 0x3c]
add esp, 0x18
test eax, eax
je 0x6537f4
mov dl, byte [esp + 0x13]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x34], esp
push 0
mov ecx, esi
mov dword [esp + 0x34], esi
mov byte [esi], dl
call fcn.00404760
lea edi, [esp + 0xe0]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x28], ecx
push ecx
mov ecx, esi
call fcn.00401450
test al, al
je 0x6537dc
mov ecx, dword [esp + 0x24]
mov eax, esi
mov edx, ecx
lea esi, [esp + 0xe0]
mov edi, dword [eax + 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
push ecx
mov ecx, eax
call fcn.00404970
mov edx, dword [esp + 0x28]
mov byte [esp + 0x36c], 6
mov ecx, dword [edx + 0x3c]
call fcn.004b0160
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x88]
test eax, eax
je 0x653884
mov al, byte [esp + 0x13]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x34], esp
push 0
mov ecx, esi
mov dword [esp + 0x34], esi
mov byte [esi], al
call fcn.00404760
lea edi, [esp + 0xe0]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x28], ecx
push ecx
mov ecx, esi
call fcn.00401450
test al, al
je 0x653869
mov ecx, dword [esp + 0x24]
mov eax, esi
mov edx, ecx
lea esi, [esp + 0xe0]
mov edi, dword [eax + 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
push ecx
mov ecx, eax
call fcn.00404970
mov edx, dword [esp + 0x28]
mov byte [esp + 0x36c], 6
mov ecx, dword [edx + 0x88]
call fcn.004bbb10
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x58]
test eax, eax
je 0x65390a
mov al, byte [esp + 0x13]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x34], esp
push 0
mov ecx, esi
mov dword [esp + 0x34], esi
mov byte [esi], al
call fcn.00404760
lea edi, [esp + 0xe0]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x28], ecx
push ecx
mov ecx, esi
call fcn.00401450
test al, al
je 0x6538f2
mov ecx, dword [esp + 0x24]
mov eax, esi
mov edx, ecx
lea esi, [esp + 0xe0]
mov edi, dword [eax + 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
push ecx
mov ecx, eax
call fcn.00404970
mov edx, dword [esp + 0x28]
mov byte [esp + 0x36c], 6
mov ecx, dword [edx + 0x58]
call fcn.004d55e0
mov esi, dword [esp + 0x18]
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653921
mov byte [esp + 0x14], 0
jmp 0x65392c
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x834], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653957
xor eax, eax
jmp 0x65395f
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x838], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653985
mov byte [esp + 0x14], 0
jmp 0x653990
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
mov edx, dword [0x93c98c]
and ecx, 0xff
mov dword [edx + 0x83c], ecx
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6539bc
xor eax, eax
jmp 0x6539c4
mov ecx, dword [ebx + 8]
mov ax, word [ecx + eax - 2]
movsx edx, ax
mov eax, dword [0x93c98c]
mov dword [eax + 0x840], edx
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x6539e9
mov byte [esp + 0x14], 0
jmp 0x6539f4
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x844], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653a1f
xor eax, eax
jmp 0x653a27
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x848], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653a4d
mov byte [esp + 0x14], 0
jmp 0x653a58
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
mov edx, dword [0x93c98c]
and ecx, 0xff
mov dword [edx + 0x84c], ecx
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653a84
xor eax, eax
jmp 0x653a8c
mov ecx, dword [ebx + 8]
mov ax, word [ecx + eax - 2]
movsx edx, ax
mov eax, dword [0x93c98c]
mov dword [eax + 0x850], edx
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653ab1
mov byte [esp + 0x14], 0
jmp 0x653abc
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x854], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653ae7
xor eax, eax
jmp 0x653aef
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x858], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653b14
xor eax, eax
jmp 0x653b1c
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x85c], eax
mov edx, dword [ebp]
add edx, 2
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653b41
xor eax, eax
jmp 0x653b49
mov edx, dword [ebx + 8]
mov ax, word [edx + eax - 2]
mov ecx, dword [0x93c98c]
movsx eax, ax
mov dword [ecx + 0x864], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653b6f
mov byte [esp + 0x14], 0
jmp 0x653b7a
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
mov edx, dword [0x93c98c]
and ecx, 0xff
mov dword [edx + 0x86c], ecx
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653ba7
mov byte [esp + 0x14], 0
jmp 0x653bb2
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x874], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653bde
mov byte [esp + 0x14], 0
jmp 0x653be9
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
mov edx, dword [0x93c98c]
and ecx, 0xff
mov dword [edx + 0x87c], ecx
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653c16
mov byte [esp + 0x14], 0
jmp 0x653c21
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x884], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653c4d
mov byte [esp + 0x14], 0
jmp 0x653c58
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
mov edx, dword [0x93c98c]
and ecx, 0xff
mov dword [edx + 0x88c], ecx
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653c85
mov byte [esp + 0x14], 0
jmp 0x653c90
mov ecx, dword [ebx + 8]
mov dl, byte [ecx + eax - 1]
mov byte [esp + 0x14], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [0x93c98c]
and eax, 0xff
mov dword [ecx + 0x894], eax
mov edx, dword [ebp]
add edx, 4
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653cbb
xor eax, eax
jmp 0x653cc2
mov edx, dword [ebx + 8]
mov eax, dword [edx + eax - 4]
mov ecx, dword [0x93c98c]
mov dword [ecx + 0x814], eax
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653ce5
mov byte [esp + 0x14], 0
jmp 0x653cf0
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
mov edx, dword [0x93c98c]
and ecx, 0xff
mov dword [edx + 0x4a4], ecx
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653d1a
xor al, al
jmp 0x653d21
mov ecx, dword [ebx + 8]
mov al, byte [ecx + eax - 1]
mov edx, dword [0x93c98c]
mov byte [edx + 0x8c1], al
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x653d41
xor al, al
jmp 0x653d48
mov ecx, dword [ebx + 8]
mov al, byte [ecx + eax - 1]
mov edx, dword [0x93c98c]
mov byte [edx + 0x8c2], al
mov eax, dword [esi + 0x230]
test eax, eax
jne 0x653e1e
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], al
call fcn.00404760
mov edi, 0x7a98fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x34]
call fcn.004047b0
mov ecx, dword [esp + 0x18]
mov eax, 0x51eb851f
mov esi, dword [esp + 0x30]
mov byte [esp + 0x35c], 0xa
mov ecx, dword [ecx + 0x234]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
test esi, esi
lea edi, [edx + eax + 1]
jne 0x653dc5
mov esi, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push edi
push esi
push 0x93bab0
call fcn.00727335
mov esi, dword [esp + 0x28]
mov ecx, 0x64
mov eax, dword [esi + 0x234]
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [esi + 0x234]
add esp, 0x18
inc ecx
mov dword [esi + 0x234], ecx
push 1
lea ecx, [esp + 0x30]
mov byte [esp + 0x360], 6
call fcn.00404760
mov ecx, 0xf0
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x653e5c
mov edi, dword [ebp]
inc edi
mov dword [ebp], edi
mov edx, dword [ebx + 4]
mov eax, edi
cmp eax, edx
jle 0x653e41
mov byte [esp + 0x14], 0
jmp 0x653e4c
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov byte [esp + 0x14], al
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x6c]
and edx, 0xff
mov dword [eax + ecx], edx
add ecx, 4
cmp ecx, 0x114
jl 0x653e23
mov ecx, dword [esi + 0x6c]
test ecx, ecx
je 0x653e76
mov edx, dword [ecx]
call dword [edx + 0x98]
mov ecx, dword [esi + 0x70]
test ecx, ecx
je 0x653e82
call fcn.004f3290
mov ecx, dword [esi + 0x70]
test ecx, ecx
je 0x653e91
mov eax, dword [ecx]
call dword [eax + 0x98]
mov ecx, 0xe
or eax, 0xffffffff
lea edi, [esp + 0x194]
lea edx, [esp + 0xec]
rep stosd dword es:[edi], eax
mov ecx, 0xe
or eax, 0xffffffff
lea edi, [esp + 0x124]
rep stosd dword es:[edi], eax
mov ecx, 0xe
or eax, 0xffffffff
lea edi, [esp + 0x15c]
rep stosd dword es:[edi], eax
or ecx, 0xffffffff
or eax, 0xffffffff
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0xec]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov word [esp + 0x38], cx
mov ecx, 7
rep stosd dword es:[edi], eax
xor edi, edi
mov eax, dword [ebp]
add eax, 4
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x653f06
xor ecx, ecx
jmp 0x653f0d
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + eax - 4]
add eax, 2
mov dword [esp + edi*4 + 0x194], ecx
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x653f25
xor ecx, ecx
jmp 0x653f2d
mov ecx, dword [ebx + 8]
mov cx, word [ecx + eax - 2]
movsx ecx, cx
add eax, 2
mov dword [esp + edi*4 + 0x124], ecx
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x653f48
xor ecx, ecx
jmp 0x653f50
mov ecx, dword [ebx + 8]
mov cx, word [ecx + eax - 2]
movsx ecx, cx
inc eax
mov dword [esp + edi*4 + 0x15c], ecx
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x653f69
xor cl, cl
jmp 0x653f70
mov ecx, dword [ebx + 8]
mov cl, byte [ecx + eax - 1]
add eax, 2
mov byte [esp + edi + 0x2c], cl
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x653f85
xor eax, eax
jmp 0x653f8d
mov ecx, dword [ebx + 8]
mov ax, word [ecx + eax - 2]
mov word [edx], ax
inc edi
add edx, 2
cmp edi, 0xe
jl 0x653ef2
mov edx, dword [0x76d41c]
mov dword [esi + 0x23c], 0
mov dword [esi + 0x238], edx
mov eax, dword [0x76d420]
mov dword [esi + 0x240], eax
mov ecx, dword [0x93c98c]
add ecx, 0x98
mov edx, dword [ecx]
mov dword [esp + 0x44], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [ecx + 8]
mov dword [esi + 0x248], edx
mov dword [esi + 0x24c], eax
mov dword [esi + 0x250], ecx
mov eax, dword [esi + 0x230]
mov dword [esp + 0x4c], ecx
test eax, eax
jne 0x6540ba
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], dl
call fcn.00404760
mov edi, 0x7a98fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x4c]
call fcn.004047b0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x48]
mov byte [esp + 0x35c], 0xb
mov ecx, dword [eax + 0x234]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
test esi, esi
lea edi, [edx + eax + 1]
jne 0x654061
mov esi, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push edi
push esi
push 0x93bab0
call fcn.00727335
mov esi, dword [esp + 0x28]
mov ecx, 0x64
mov eax, dword [esi + 0x234]
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [esi + 0x234]
add esp, 0x18
inc ecx
mov dword [esi + 0x234], ecx
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x360], 6
call fcn.00404760
mov ecx, dword [esi + 0x1bc]
test ecx, ecx
je 0x6540d1
lea edx, [esp + 0xc0]
push edx
call fcn.005f23e0
mov eax, dword [esi + 0x40]
test eax, eax
je 0x6540f1
mov eax, dword [eax + 0xbc]
test eax, eax
je 0x6540f1
lea ecx, [esp + 0xc0]
push ecx
mov ecx, eax
call fcn.00411a60
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x65410f
mov eax, dword [0x93c98c]
lea edx, [eax + 0x7dc]
add eax, 0x474
push edx
push eax
call fcn.0058d5d0
mov ecx, dword [esi + 0x1bc]
test ecx, ecx
je 0x654153
mov eax, dword [0x93c98c]
push 1
mov edx, dword [eax + 0x49c]
mov eax, dword [eax + 0x4a0]
push edx
push eax
call fcn.005f1c90
mov eax, dword [0x93c98c]
push 1
mov ecx, dword [eax + 0x808]
mov edx, dword [eax + 0x80c]
push ecx
mov ecx, dword [esi + 0x1bc]
push edx
call fcn.005f1b20
mov ecx, dword [esi + 0x1b4]
test ecx, ecx
je 0x654177
mov eax, dword [0x93c98c]
push 1
mov edx, dword [eax + 0x818]
mov eax, dword [eax + 0x81c]
push edx
push eax
call fcn.005fbed0
mov ecx, dword [esi + 0x68]
test ecx, ecx
je 0x654183
call fcn.0052ca00
mov ecx, 0x1c
or eax, 0xffffffff
lea edi, [esp + 0x204]
lea edx, [esp + 0x1cc]
rep stosd dword es:[edi], eax
mov ecx, 0x1c
or eax, 0xffffffff
lea edi, [esp + 0x274]
rep stosd dword es:[edi], eax
mov ecx, 0x1c
or eax, 0xffffffff
lea edi, [esp + 0x2e4]
rep stosd dword es:[edi], eax
mov ecx, 7
or eax, 0xffffffff
lea edi, [esp + 0x108]
rep stosd dword es:[edi], eax
mov ecx, 0xe
or eax, 0xffffffff
lea edi, [esp + 0x1cc]
rep stosd dword es:[edi], eax
xor edi, edi
mov eax, dword [ebp]
add eax, 4
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x6541f5
xor ecx, ecx
jmp 0x6541fc
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + eax - 4]
add eax, 2
mov dword [esp + edi*4 + 0x204], ecx
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x654214
xor ecx, ecx
jmp 0x65421c
mov ecx, dword [ebx + 8]
mov cx, word [ecx + eax - 2]
movsx ecx, cx
add eax, 2
mov dword [esp + edi*4 + 0x2e4], ecx
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x654237
xor ecx, ecx
jmp 0x65423f
mov ecx, dword [ebx + 8]
mov cx, word [ecx + eax - 2]
movsx ecx, cx
inc eax
mov dword [esp + edi*4 + 0x274], ecx
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x654258
xor cl, cl
jmp 0x65425f
mov ecx, dword [ebx + 8]
mov cl, byte [ecx + eax - 1]
add eax, 2
mov byte [esp + edi + 0x108], cl
mov dword [ebp], eax
mov ecx, dword [ebx + 4]
cmp eax, ecx
jle 0x654277
xor eax, eax
jmp 0x65427f
mov ecx, dword [ebx + 8]
mov ax, word [ecx + eax - 2]
mov word [edx], ax
inc edi
add edx, 2
cmp edi, 0x1c
jl 0x6541e1
mov eax, dword [esi + 0x230]
test eax, eax
jne 0x654359
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], dl
call fcn.00404760
mov edi, 0x7a98fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x4c]
call fcn.004047b0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x48]
mov byte [esp + 0x35c], 0xc
mov ecx, dword [eax + 0x234]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
test esi, esi
lea edi, [edx + eax + 1]
jne 0x654300
mov esi, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push edi
push esi
push 0x93bab0
call fcn.00727335
mov esi, dword [esp + 0x28]
mov ecx, 0x64
mov eax, dword [esi + 0x234]
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [esi + 0x234]
add esp, 0x18
inc ecx
mov dword [esi + 0x234], ecx
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x360], 6
call fcn.00404760
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x654365
call fcn.004af210
mov edx, dword [ebp]
inc edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov eax, edx
cmp eax, ecx
jle 0x654379
xor al, al
jmp 0x654380
mov edx, dword [ebx + 8]
mov al, byte [edx + eax - 1]
mov ecx, dword [0x93c98c]
mov dl, byte [esp + 0x13]
push 0
mov byte [ecx + 0x8b4], al
lea ecx, [esp + 0x8c]
mov byte [esp + 0x8c], dl
call fcn.00404760
mov al, byte [esp + 0x13]
mov byte [esp + 0x35c], 0xd
push 0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x7c], al
call fcn.00404760
mov byte [esp + 0x35c], 0xe
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + ecx*4 + 0x194]
test edi, edi
je 0x6546df
mov eax, 0x10624dd3
mov esi, dword [0x93c8a8]
imul edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [edx + edx*4]
lea edx, [esp + 0x20]
push edx
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea eax, [esp + 0x64]
shl ecx, 3
mov dword [esp + 0x24], ecx
push eax
lea ecx, [esi + 0x14]
call fcn.0045e410
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x60]
cmp eax, esi
jne 0x6544ca
xor ebx, ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], 0
test ebx, ebx
je 0x6546d1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x6546d1
mov eax, dword [0x93c98c]
mov ecx, dword [eax + 0x48c]
mov edx, dword [eax + 0x494]
push ecx
lea eax, [esp + 0xbc]
push edx
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x84]
push ecx
lea eax, [esp + 0x98]
push edx
push eax
push edi
push ebx
call fcn.006a9350
mov edi, eax
add esp, 0x20
cmp edi, 0xffffffff
jne 0x65449b
push 0x7a4b64
call fcn.00455190
add esp, 4
mov esi, dword [esp + 0x14]
cmp esi, 0xd
ja case.0x6544a8.5
jmp dword [esi*4 + 0x655278]
cmp edi, 3
je case.0x6544a8.5
push 0x7a4b44
call fcn.00455190
add esp, 4
jmp case.0x6544a8.5
lea ebx, [eax + 0x10]
test ebx, ebx
mov dword [esp + 0x40], ebx
je 0x654431
mov cl, byte [ebx + 4]
cmp cl, 0x18
jae 0x654431
mov eax, edi
mov esi, 0x3e8
cdq
idiv esi
and ecx, 0xff
mov esi, dword [ecx*4 + 0x93c8ac]
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esi + 0x14]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x5c]
push edx
call fcn.0045e480
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
cmp eax, esi
je 0x654431
add eax, 0x10
mov dword [esp + 0x3c], eax
jmp 0x654439
cmp edi, 2
je 0x65453f
push 0x7a4b44
call fcn.00455190
add esp, 4
movzx ax, byte [esp + esi + 0x2c]
mov ecx, dword [0x93c98c]
push eax
mov eax, dword [esp + 0x40]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x90]
push ebx
push eax
mov eax, dword [esp + 0x34]
push eax
call dword [edx + 0x38]
jmp case.0x6544a8.5
cmp edi, 1
je 0x654578
push 0x7a4b44
call fcn.00455190
add esp, 4
movzx di, byte [esp + esi + 0x2c]
mov ecx, dword [0x93c98c]
push edi
mov edi, dword [esp + 0x40]
xor eax, eax
mov edx, dword [ecx]
push 0
cmp esi, 6
push edi
lea edi, [esp + 0x94]
push ebx
setne al
push edi
push eax
call dword [edx + 0x3c]
mov ecx, dword [0x93c98c]
mov eax, dword [esp + esi*4 + 0x124]
push eax
push esi
mov edx, dword [ecx]
call dword [edx + 0x40]
push 0x40
call fcn.00726f70
mov ebx, eax
add esp, 4
mov dword [esp + 0x20], ebx
test ebx, ebx
mov byte [esp + 0x35c], 0xf
je 0x654603
mov al, byte [esp + 0x13]
lea ecx, [ebx + 4]
xor esi, esi
push esi
mov byte [ecx], al
call fcn.00404760
lea ecx, [esp + 0x13]
mov byte [esp + 0x35c], 0x10
push ecx
lea ecx, [ebx + 0x20]
call fcn.006b8ea0
mov byte [esp + 0x35c], 0xf
jmp 0x654607
xor ebx, ebx
xor esi, esi
mov byte [esp + 0x35c], 0xe
mov edi, 0x7c4d88
or ecx, 0xffffffff
xor eax, eax
mov word [ebx + 0x14], si
mov word [ebx + 0x16], si
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [ebx + 0x20]
push 1
mov dword [esp + 0x24], ecx
push ecx
mov ecx, edx
call fcn.00401450
test al, al
je 0x65466a
mov ecx, dword [esp + 0x20]
mov edi, dword [ebx + 0x24]
lea eax, [ebx + 0x20]
mov edx, ecx
mov esi, 0x7c4d88
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
push ecx
mov ecx, eax
call fcn.00404970
xor esi, esi
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], eax
mov ecx, dword [0x76560c]
lea edx, [esp + 0x78]
push ecx
push esi
push edx
lea ecx, [ebx + 4]
call fcn.00404560
mov eax, dword [esp + 0x14]
mov dword [ebx], esi
mov ecx, dword [esp + eax*4 + 0x15c]
movzx dx, byte [esp + eax + 0x2c]
mov dword [ebx + 0x38], ecx
mov ecx, dword [esp + eax*4 + 0x124]
mov dword [ebx + 0x3c], ecx
mov cx, word [esp + eax*2 + 0xec]
mov word [ebx + 0x14], dx
mov edx, dword [esp + 0x18]
mov word [ebx + 0x16], cx
mov ecx, dword [edx + 0x3c]
cmp ecx, esi
je 0x6546df
mov dword [ecx + eax*4 + 0x110], ebx
jmp 0x6546df
push edi
push 0x7a4b18
call fcn.00455190
add esp, 8
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0xe
mov dword [esp + 0x14], eax
jl 0x6543d0
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x230]
test eax, eax
jne 0x6547b7
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], al
call fcn.00404760
mov edi, 0x7a98fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x34]
call fcn.004047b0
mov ecx, dword [esi + 0x234]
mov eax, 0x51eb851f
imul ecx
mov ebx, dword [esp + 0x30]
mov byte [esp + 0x35c], 0x12
sar edx, 5
mov eax, edx
shr eax, 0x1f
test ebx, ebx
lea edi, [edx + eax + 1]
jne 0x654762
mov ebx, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push edi
push ebx
push 0x93bab0
call fcn.00727335
mov eax, dword [esi + 0x234]
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [esi + 0x234]
add esp, 0x18
inc ecx
mov dword [esi + 0x234], ecx
push 1
lea ecx, [esp + 0x30]
mov byte [esp + 0x360], 0xe
call fcn.00404760
lea edx, [esp + 0x1cc]
xor ebx, ebx
mov dword [esp + 0x14], edx
mov edi, dword [esp + ebx*4 + 0x204]
test edi, edi
je 0x6549c2
mov eax, 0x10624dd3
mov esi, dword [0x93c8a8]
imul edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [edx + edx*4]
lea edx, [esp + 0x24]
push edx
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
lea eax, [esp + 0x5c]
shl ecx, 3
mov dword [esp + 0x28], ecx
push eax
lea ecx, [esi + 0x14]
call fcn.0045e410
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
cmp eax, esi
jne 0x65481b
xor eax, eax
jmp 0x65481e
add eax, 0x10
xor edx, edx
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x3c], edx
je 0x6549b4
mov cl, byte [eax + 4]
cmp cl, 0x18
jae 0x65487f
mov eax, edi
mov esi, 0x3e8
cdq
idiv esi
and ecx, 0xff
mov esi, dword [ecx*4 + 0x93c8ac]
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esi + 0x14]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x64]
push edx
call fcn.0045e480
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x60]
cmp eax, esi
jne 0x654874
xor edx, edx
jmp 0x654877
lea edx, [eax + 0x10]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], edx
test edx, edx
je 0x6549b4
mov ecx, dword [0x93c98c]
mov edx, dword [ecx + 0x48c]
mov ecx, dword [ecx + 0x494]
push edx
lea edx, [esp + 0xbc]
push ecx
push edx
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x84]
push ecx
push edx
push 0
push edi
push eax
call fcn.006a9350
add esp, 0x20
cmp eax, 0xffffffff
jne 0x6548ce
push 0x7a4b64
call fcn.00455190
add esp, 4
push 0x40
call fcn.00726f70
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
test esi, esi
mov byte [esp + 0x35c], 0x13
je 0x654919
mov al, byte [esp + 0x13]
lea ecx, [esi + 4]
push 0
mov byte [ecx], al
call fcn.00404760
lea ecx, [esp + 0x13]
mov byte [esp + 0x35c], 0x14
push ecx
lea ecx, [esi + 0x20]
call fcn.006b8ea0
mov byte [esp + 0x35c], 0x13
jmp 0x65491b
xor esi, esi
xor eax, eax
mov byte [esp + 0x35c], 0xe
mov edi, 0x7c4d88
or ecx, 0xffffffff
mov word [esi + 0x14], ax
mov word [esi + 0x16], ax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7c4d88
lea ecx, [esi + 0x20]
call fcn.004047b0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], eax
mov ecx, dword [0x76560c]
lea edx, [esp + 0x78]
push ecx
push 0
push edx
lea ecx, [esi + 4]
call fcn.00404560
mov eax, dword [esp + ebx*4 + 0x274]
mov ecx, dword [esp + ebx*4 + 0x2e4]
movzx dx, byte [esp + ebx + 0x108]
mov dword [esi + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x3c], ecx
mov word [esi + 0x14], dx
mov cx, word [eax]
mov edx, dword [esp + 0x18]
mov word [esi + 0x16], cx
mov dword [esi], 0
mov eax, dword [edx + 0x3c]
mov dword [eax + ebx*4 + 0x148], esi
jmp 0x6549c2
push edi
push 0x7a5250
call fcn.00455190
add esp, 8
mov ecx, dword [esp + 0x14]
inc ebx
add ecx, 2
cmp ebx, 0x1c
mov dword [esp + 0x14], ecx
jl 0x6547c4
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x230]
test eax, eax
jne 0x654a9d
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x30], cl
lea ecx, [esp + 0x30]
call fcn.00404760
mov edi, 0x7a98fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x34]
call fcn.004047b0
mov ecx, dword [ebx + 0x234]
mov eax, 0x51eb851f
imul ecx
mov edi, dword [esp + 0x30]
mov byte [esp + 0x35c], 0x16
sar edx, 5
mov eax, edx
shr eax, 0x1f
test edi, edi
lea esi, [edx + eax + 1]
jne 0x654a48
mov edi, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push esi
push edi
push 0x93bab0
call fcn.00727335
mov eax, dword [ebx + 0x234]
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [ebx + 0x234]
add esp, 0x18
inc ecx
mov dword [ebx + 0x234], ecx
push 1
lea ecx, [esp + 0x30]
mov byte [esp + 0x360], 0xe
call fcn.00404760
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
je 0x654aac
mov edx, dword [ecx]
call dword [edx + 0x98]
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x654ab8
call fcn.004f9ae0
mov ecx, dword [ebx + 0x70]
test ecx, ecx
je 0x654ac4
call fcn.004f4fd0
mov eax, dword [0x93c98c]
lea esi, [eax + 0x50]
lea ecx, [esi + 0x17c]
call fcn.0045f660
test eax, eax
jbe 0x654ae5
mov esi, dword [esi + 0x180]
mov eax, dword [esi]
jmp 0x654ae7
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x654b0b
mov edi, dword [esp + 0x1c]
mov ecx, dword [0x93c98c]
push 0
push 0
mov edx, dword [ecx]
lea eax, [edi + 0x34]
push 0
push eax
push 0
call dword [edx + 0x38]
jmp 0x654b0f
mov edi, dword [esp + 0x1c]
mov ecx, dword [0x93c98c]
lea esi, [ecx + 0x50]
lea ecx, [esi + 0x17c]
call fcn.0045f660
cmp eax, 1
jbe 0x654b33
mov esi, dword [esi + 0x180]
mov eax, dword [esi + 4]
jmp 0x654b35
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x654b53
mov ecx, dword [0x93c98c]
push 0
push 0
lea eax, [edi + 0x44]
mov edx, dword [ecx]
push 0
push eax
push 1
call dword [edx + 0x38]
mov ecx, dword [0x93c98c]
lea esi, [ecx + 0x50]
lea ecx, [esi + 0x17c]
call fcn.0045f660
cmp eax, 3
jbe 0x654b77
mov esi, dword [esi + 0x180]
mov eax, dword [esi + 0xc]
jmp 0x654b79
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x654b97
mov ecx, dword [0x93c98c]
push 0
push 0
lea eax, [edi + 0x64]
mov edx, dword [ecx]
push 0
push eax
push 3
call dword [edx + 0x38]
mov ecx, dword [0x93c98c]
lea esi, [ecx + 0x50]
lea ecx, [esi + 0x17c]
call fcn.0045f660
cmp eax, 4
jbe 0x654bbb
mov esi, dword [esi + 0x180]
mov eax, dword [esi + 0x10]
jmp 0x654bbd
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x654bdb
mov ecx, dword [0x93c98c]
push 0
push 0
add edi, 0x74
mov edx, dword [ecx]
push 0
push edi
push 4
call dword [edx + 0x38]
mov eax, dword [0x93c98c]
lea esi, [eax + 0x50]
lea ecx, [esi + 0x17c]
call fcn.0045f660
cmp eax, 2
jbe 0x654c00
mov esi, dword [esi + 0x180]
xor edi, edi
mov eax, dword [esi + 8]
jmp 0x654c04
xor edi, edi
xor eax, eax
cmp dword [eax + 0x20], edi
jne 0x654c14
mov ecx, dword [0x93c98c]
mov edx, dword [ecx]
call dword [edx + 0x34]
mov eax, dword [0x93c98c]
lea esi, [eax + 0x50]
lea ecx, [esi + 0x17c]
call fcn.0045f660
cmp eax, 5
jbe 0x654c37
mov esi, dword [esi + 0x180]
mov eax, dword [esi + 0x14]
jmp 0x654c39
xor eax, eax
cmp dword [eax + 0x20], edi
jne 0x654c49
mov ecx, dword [0x93c98c]
mov edx, dword [ecx]
call dword [edx + 0x30]
mov ecx, dword [0x93c98c]
call fcn.004733f0
mov ecx, dword [0x93c98c]
call fcn.00461df0
mov ecx, dword [0x93c98c]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [0x93c98c]
call fcn.00461ea0
mov ecx, dword [0x93c98c]
mov edx, dword [ecx]
call dword [edx + 0x14]
mov ecx, dword [0x93c98c]
call fcn.00472670
lea eax, [esp + 0x5c]
push 4
mov esi, 3
push eax
push 0x7a989c
mov dword [esp + 0x68], esi
call fcn.006f9f50
add esp, 0xc
test al, al
jne 0x654cb0
mov dword [esp + 0x5c], esi
mov ecx, dword [esp + 0x5c]
push ecx
mov ecx, dword [0x93cbfc]
call fcn.006efb50
cmp dword [ebx + 0x230], edi
jne 0x654d82
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x30]
mov byte [esp + 0x30], dl
call fcn.00404760
mov edi, 0x7a98fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7a98fc
lea ecx, [esp + 0x34]
call fcn.004047b0
mov ecx, dword [ebx + 0x234]
mov eax, 0x51eb851f
imul ecx
mov edi, dword [esp + 0x30]
mov byte [esp + 0x35c], 0x17
sar edx, 5
mov eax, edx
shr eax, 0x1f
test edi, edi
lea esi, [edx + eax + 1]
jne 0x654d2b
mov edi, 0x765608
mov eax, ecx
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push esi
push edi
push 0x93bab0
call fcn.00727335
mov eax, dword [ebx + 0x234]
mov ecx, 0x64
cdq
idiv ecx
inc edx
push edx
push 0x93bab0
call fcn.006f9880
mov ecx, dword [ebx + 0x234]
add esp, 0x18
inc ecx
mov dword [ebx + 0x234], ecx
push 1
lea ecx, [esp + 0x30]
mov byte [esp + 0x360], 0xe
call fcn.00404760
xor edi, edi
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x44], edx
lea edx, [esp + 0x6c]
mov dword [esp + 0x48], eax
push edx
mov edx, dword [esp + 0x4c]
sub esp, 0xc
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x54]
mov eax, esp
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x84], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, ebx
call fcn.006798e0
test al, al
je 0x654e16
mov edx, dword [0x93c984]
push 1
mov ecx, dword [edx + 0x1c]
mov edx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x74]
mov eax, dword [ecx]
push edx
call dword [eax + 0x30]
fld dword [esp + 0x6c]
fstp dword [esp + 0x44]
lea eax, [esp + 0x44]
fstp dword [esp + 0x48]
fld dword [esp + 0x74]
fstp dword [esp + 0x4c]
push eax
jmp 0x654e33
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
push ecx
mov ecx, ebx
call fcn.0064ded0
mov ecx, dword [0x93c988]
mov edx, dword [ecx]
call dword [edx]
mov ecx, dword [ebx + 0x1cc]
cmp ecx, edi
je 0x654e53
call fcn.00604590
mov ecx, dword [0x93c98c]
call fcn.00478a90
mov esi, dword [0x93c8a0]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
lea ecx, [esp + 0x58]
push eax
push ecx
lea ecx, [esi + 0x14]
call fcn.0047a5c0
mov esi, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
cmp eax, esi
je 0x654e8c
lea esi, [eax + 0x10]
cmp esi, edi
jne 0x654ea8
mov edx, dword [0x93c98c]
mov eax, dword [edx + 0x8a0]
push eax
push 0x7a9878
call fcn.00455190
add esp, 8
jmp 0x654ed3
mov ecx, dword [0x93c984]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
call dword [edx + 0x40]
mov ecx, dword [ebx + 0x1c0]
fstp dword [esp + 0x24]
cmp ecx, edi
je 0x654ed3
mov eax, dword [esp + 0x24]
add esi, 0x64
push eax
push eax
push esi
call fcn.005f5b90
mov eax, dword [0x93c98c]
mov dword [esp + 0x54], 0x40c00000
mov ecx, dword [eax + 0x494]
push ecx
call fcn.006a8db0
add esp, 4
cmp eax, 1
jne 0x654efc
mov dword [esp + 0x54], 0x40400000
mov ecx, dword [ebx + 0x1c0]
cmp ecx, edi
je 0x654f10
mov edx, dword [esp + 0x54]
push edx
call fcn.005f6770
mov eax, dword [0x93c98c]
mov eax, dword [eax + 0x4e0]
cmp eax, edi
jle 0x654f6c
mov esi, dword [esp + 0x28]
mov ecx, dword [ebx + 0x2c8]
push eax
push esi
push ecx
mov ecx, dword [0x93cc48]
call fcn.00598610
cmp eax, edi
jne 0x654f6c
mov eax, dword [0x93c98c]
mov ecx, dword [eax + 0x7e8]
mov dword [eax + 0x4e4], ecx
mov edx, dword [0x93c98c]
mov eax, dword [esp + 0xbc]
mov dword [edx + 0xb34], eax
mov ecx, dword [0x93c98c]
cmp dword [ecx + 0x4e4], 1
jne 0x654fa9