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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x138]
cmp eax, dword [ecx + 8]
jbe 0x61cc26
sub esp, 0x1b8
mov eax, dword [esp + 0x1c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1c8]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.00619d90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
test eax, eax
jne 0x61b2f1
test edx, edx
je 0x61ade8
mov eax, dword [esp + 0x1c8]
test eax, eax
je 0x61ace6
test eax, 0x200
jne 0x61ace6
mov ecx, dword [esp + 0x1c0]
lea eax, [0x8470c4]
jmp 0x61ad0c
mov ecx, dword [esp + 0x1c0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c45b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x34], eax
lea edx, [0x78cd80]
mov dword [esp], edx
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7b6cc5]
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61ad55
mov ecx, dword [esp + 0x118]
mov dword [eax + 0xc], ecx
jmp 0x61ad68
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x118]
call fcn.004643b0
mov eax, ecx
mov ecx, dword [esp + 0x1bc]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x61adc3
mov dword [esp], ecx
lea edx, [0x8440d4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.006196c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61adb9
mov dword [edx + 0x40], eax
jmp 0x61adc1
lea edi, [edx + 0x40]
call fcn.004643b0
mov ecx, edx
mov dword [esp], ecx
call fcn.006197c0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov dword [esp + 0xac], ebx
mov dword [esp + 0x178], ebp
mov dword [esp + 0x174], esi
test ebx, ebx
je 0x61ae13
test ebx, 0x200
jne 0x61ae13
mov eax, esi
lea ecx, [0x8470c4]
jmp 0x61ae42
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004c45b0
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0x178]
mov ecx, eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x114], esi
nop
mov edx, ebx
and ebx, 0x1f
mov dword [esp + 0xa8], ebx
cmp ebx, 0x14
je 0x61ae63
xor edi, edi
jmp 0x61aea5
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.004c31d0
mov eax, dword [esp + 0xc]
test eax, eax
sete al
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x178]
mov esi, dword [esp + 0x114]
mov edi, eax
mov eax, dword [esp + 0x174]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x61b21d
cmp ebx, 0x15
je 0x61afbf
cmp ebx, 0x19
jne 0x61aeee
mov dword [esp], ecx
mov dword [esp + 4], esi
call fcn.00627710
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, eax
mov ebp, edx
mov edx, dword [esp + 0x178]
mov eax, ecx
mov ecx, dword [esp + 0xac]
jmp 0x61b0dc
lea eax, [0x78cd80]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7b6cc5]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61af2c
mov ecx, dword [esp + 0x114]
mov dword [eax + 0xc], ecx
jmp 0x61af3f
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x114]
call fcn.004643b0
mov eax, ecx
mov ecx, dword [esp + 0x1bc]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x61af9a
mov dword [esp], ecx
lea edx, [0x8440d4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.006196c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61af90
mov dword [edx + 0x40], eax
jmp 0x61af98
lea edi, [edx + 0x40]
call fcn.004643b0
mov ecx, edx
mov dword [esp], ecx
call fcn.006197c0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov eax, dword [ecx + 0x4c]
mov dword [esp], esi
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 0xa
jbe 0x61b04c
cmp eax, 0x18
je 0x61b04c
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [0x8470c8]
lea ebx, [0x8470c4]
cmp eax, ebx
jne 0x61cc0f
mov dword [esp], ecx
call fcn.004be3d0
mov eax, dword [0xa83fb8]
mov ecx, dword [0xa83fbc]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004be690
movzx eax, byte [esp + 0xc]
test al, al
je 0x61b14c
mov ecx, dword [esp + 0xac]
test ecx, 0x200
je 0x61b064
mov edx, dword [esp + 0x178]
jmp 0x61b0d6
test ecx, 0x80
je 0x61b077
mov edx, dword [esp + 0x178]
mov ebp, dword [edx]
jmp 0x61b080
mov edx, dword [esp + 0x178]
mov ebp, edx
test ebp, ebp
jne 0x61b0d6
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov ecx, dword [esp + 0x114]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call fcn.004c4e90
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov ecx, dword [esp + 0x178]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edx
call fcn.004c34c0
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x178]
xor eax, eax
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x78], eax
lea edi, [esp + 0x1a4]
mov esi, eax
xor eax, eax
call fcn.0046465b
mov ecx, dword [esp + 0x1bc]
mov eax, edx
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x61b119
lea edi, [esp + 0x1a4]
mov esi, edx
call fcn.00464b3e
mov ecx, dword [esp + 0x1bc]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x148], ebp
lea edx, [ecx + 0x38]
mov dword [esp + 0x170], edx
xor edi, edi
xor edi, edi
mov dword [esp + 0x134], edi
xor edi, edi
mov dword [esp + 0x138], edi
xor edi, edi
jmp 0x61b39a
lea eax, [0x78cd80]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7b6cc5]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61b18a
mov ecx, dword [esp + 0x114]
mov dword [eax + 0xc], ecx
jmp 0x61b19d
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x114]
call fcn.004643b0
mov eax, ecx
mov ecx, dword [esp + 0x1bc]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x61b1f8
mov dword [esp], ecx
lea edx, [0x8440d4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.006196c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61b1ee
mov dword [edx + 0x40], eax
jmp 0x61b1f6
lea edi, [edx + 0x40]
call fcn.004643b0
mov ecx, edx
mov dword [esp], ecx
call fcn.006197c0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
call fcn.0061fa50
mov eax, dword [esp + 4]
nop
movzx ecx, byte [0xa851a8]
test cl, cl
je 0x61b267
lea ecx, [0x75d720]
mov dword [0xa851ac], ecx
mov edx, dword [0xaab020]
test edx, edx
jne 0x61b25a
mov dword [0xa851b0], eax
jmp 0x61b26d
lea edi, [0xa851b0]
call fcn.004643b0
jmp 0x61b26d
lea ecx, [0x75d720]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0x194]
test ecx, ecx
je 0x61b29d
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x61b2a3
or edx, 0x80
jmp 0x61b2a3
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x174]
mov dword [esp], ebx
mov ebx, dword [esp + 0x178]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004c34c0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov dword [esp + 0x38], eax
mov dword [esp + 0x11c], ecx
nop
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa4], ecx
mov dword [esp], eax
call fcn.006197c0
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 0xc]
cmp edx, eax
jb 0x61b38d
mov ebx, dword [esp + 0xa4]
lea ebp, [ebx - 1]
cmp eax, ebp
jb 0x61b384
mov esi, dword [esp + 0x38]
mov esi, dword [esi + 0x10]
mov edi, dword [esp + 0x11c]
mov dword [esp], edi
sub edx, ebx
inc edx
mov edi, edx
neg edx
sar edx, 0x1f
and ebp, edx
add ecx, ebp
mov dword [esp + 4], ecx
sub eax, ebx
inc eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
add esp, 0x1b8
ret
mov ecx, eax
mov eax, ebp
call fcn.00464490
mov ecx, eax
call fcn.00464470
mov ecx, edx
mov edi, dword [esp + 0x58]
mov dword [esp + 0x58], edi
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.006198f0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x61c4f8
cmp ecx, 1
jne 0x61cbf7
nop
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa4], ecx
mov dword [esp], eax
call fcn.006199b0
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax + 8]
mov ecx, dword [eax]
mov ebx, dword [eax + 0xc]
lea ebp, [ebx - 1]
cmp edx, ebp
jb 0x61cbf0
mov esi, dword [esp + 0xa4]
lea edi, [esi - 1]
cmp ebp, edi
jb 0x61cbe7
sub edx, esi
lea eax, [edx + 1]
mov dword [esp + 0x6c], eax
mov edx, eax
neg eax
sar eax, 0x1f
and edi, eax
lea eax, [ecx + edi]
mov dword [esp + 0x144], eax
mov dword [esp], eax
sub ebx, esi
mov dword [esp + 0x68], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0061ff90
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test cl, cl
je 0x61cbcf
mov dword [esp + 0x140], eax
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0xa8]
cmp ecx, 0x15
jne 0x61b531
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x58]
test edx, edx
je 0x61b4f0
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004c4f40
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x134]
mov dword [esp], ebx
mov ebp, dword [esp + 0x138]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x58]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004c34c0
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
jmp 0x61b524
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004c5020
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c1d00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
xor edx, edx
mov ebx, edi
mov ebp, eax
mov esi, ecx
jmp 0x61b78b
lea ecx, [0x75d6a0]
mov dword [esp], ecx
mov ebx, dword [esp + 0x148]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.004106a0
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x61b58d
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jbe 0x61cbca
lea edx, [eax + eax*8]
mov ebx, dword [esp + 0x14c]
lea edx, [ebx + edx*8]
mov eax, ebx
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x140]
jmp 0x61b5d3
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x140]
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x78]
xor edx, edx
jmp 0x61c536
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x140]
mov edx, dword [esp + 0x150]
jmp 0x61b5d3
xor edx, edx
test edx, edx
je 0x61b65c
mov dword [esp + 0x150], edx
mov edi, ecx
movzx ecx, byte [edx + 0x41]
mov byte [esp + 0x2f], cl
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x168], ecx
mov edx, dword [edx + 0x30]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xc8], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x178]
mov dword [esp + 0x124], ecx
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x174]
mov dword [esp + 0x120], edx
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
jmp 0x61c758
mov edx, dword [esp + 0x1bc]
movzx edi, byte [edx + 0x45]
xchg edi, eax
test al, al
xchg edi, eax
je 0x61b749
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x74ac80]
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], eax
lea eax, [0x7c1ee1]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea edx, [esp + 0x19c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004d7070
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1bc]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x61b72f
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.006196c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61b727
mov dword [edx + 0x40], eax
jmp 0x61b72f
lea edi, [edx + 0x40]
call fcn.004643b0
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x140]
xor edi, edi
xor edi, edi
mov dword [esp + 0x3c], edi
xor edi, edi
mov dword [esp + 0x120], edi
xor edi, edi
mov dword [esp + 0x124], edi
xor edi, edi
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov edx, edi
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x58], edi
mov dword [esp + 0x138], ecx
mov dword [esp + 0x134], eax
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2f], dl
mov dword [esp + 0x124], esi
mov dword [esp + 0x120], ebp
mov eax, dword [esp + 0x1bc]
cmp dword [eax + 0x10], 9
jne 0x61b7f9
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.006198f0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x138]
movzx edx, byte [esp + 0x2f]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0x58]
cmp dword [eax + 0x10], 3
jne 0x61c6cf
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.006198f0
movzx eax, byte [esp + 0x2f]
test al, al
je 0x61ba8f
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
call fcn.00619cd0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
je 0x61ba18
cmp dword [eax + 8], 0x778cdb8
jne 0x61b8eb
lea eax, [0x758c80]
cmp ecx, eax
jne 0x61b8f1
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044f070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1bc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x120]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.0061ce00
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x61c5a6
mov ebx, dword [esp + 0xa8]
cmp ebx, 0x15
mov edx, dword [esp + 0x1bc]
jmp 0x61bae1
lea eax, [0x758c80]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x61b910
test ecx, 0x200
jne 0x61b910
lea edx, [0x8470c4]
mov ebp, dword [esp + 0x120]
jmp 0x61b942
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov edx, dword [esp + 0x124]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004c45b0
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, eax
lea eax, [0x758c80]
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
test edx, edx
je 0x61b95f
mov edx, dword [edx + 4]
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ebp
lea eax, [0x7d8a60]
mov dword [esp], eax
mov dword [esp + 4], 0x53
lea ecx, [esp + 0x19c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004d7070
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1bc]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
je 0x61b9c3
mov ebx, dword [esp + 0xa8]
cmp ebx, 0x15
jmp 0x61bae1
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.006196c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61ba01
mov dword [edx + 0x40], eax
mov ebx, dword [esp + 0xa8]
cmp ebx, 0x15
jmp 0x61bae1
lea edi, [edx + 0x40]
call fcn.004643b0
mov ebx, dword [esp + 0xa8]
cmp ebx, 0x15
jmp 0x61bae1
mov eax, dword [str.null]
mov ecx, dword [0xa7b694]
mov edx, dword [0xa7b698]
mov ebx, dword [esp + 0x1bc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x120]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 0
call fcn.0061ce00
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x61c5bb
mov ebx, dword [esp + 0xa8]
cmp ebx, 0x15
mov edx, dword [esp + 0x1bc]
jmp 0x61bae1
mov eax, dword [esp + 0x1bc]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x124]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
call fcn.00619b00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x61c5e5
mov ebx, dword [esp + 0xa8]
cmp ebx, 0x15
mov edx, dword [esp + 0x1bc]
jne 0x61c478
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
mov ebp, dword [0x8470c8]
lea esi, [0x8470c4]
cmp eax, esi
jne 0x61c6b9
mov dword [esp + 0x5c], edx
mov dword [esp + 0x164], eax
mov dword [esp + 0x13c], ecx
mov dword [esp], ebx
call fcn.004be3d0
mov eax, dword [0xa83fb8]
mov ecx, dword [0xa83fbc]
mov edx, dword [esp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004be690
movzx eax, byte [esp + 0xc]
test al, al
jne 0x61c353
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x18
jne 0x61bc59
mov eax, dword [esp + 0x140]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
call fcn.00409680
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xa851a8]
test cl, cl
je 0x61bbdd
lea ecx, [0x74ac80]
mov dword [0xa851ac], ecx
mov edx, dword [0xaab020]
test edx, edx
jne 0x61bbd0
mov dword [0xa851b0], eax
jmp 0x61bbe3
lea edi, [0xa851b0]
call fcn.004643b0
jmp 0x61bbe3
lea ecx, [0x74ac80]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
mov edx, dword [esp + 0x18c]
test edx, edx
je 0x61bc15
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x61bc1b
or ebx, 0x80
jmp 0x61bc1b
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x164]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x10], eax
call fcn.004c53a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1bc]
jmp 0x61c415
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x50]
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x61bfcf
add eax, 0xfffffff9
cmp eax, 5
ja 0x61c6a1
lea eax, [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0044eeb0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004a9e30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x61bcf3
mov ebx, 1
jmp 0x61bdf6
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp + 4], ecx
call fcn.004c4f40
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 7]
mov edx, dword [esp + 8]
cmp ecx, 5
ja 0x61c65d
mov eax, dword [edx]
shl eax, 3
add eax, 0xffffffc0
neg eax
mov dword [esp + 0x9c], eax
cmp eax, 0x20
sbb edx, edx
lea ecx, [eax - 0x20]
mov dword [esp + 0x98], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x94], ebx
mov ebp, ecx
neg ecx
cmp ecx, 0x20
sbb esi, esi
mov dword [esp + 0x90], esi
mov edi, ecx
mov ecx, ebp
mov esi, dword [esp + 0x48]
shl esi, cl
and esi, ebx
mov ecx, eax
mov ebx, dword [esp + 0x54]
shl ebx, cl
and ebx, edx
mov ecx, edi
mov ebp, dword [esp + 0x48]
shr ebp, cl
mov edi, dword [esp + 0x90]
and ebp, edi
or ebp, ebx
or esi, ebp
mov dword [esp + 0x90], esi
mov ebx, ecx
mov ecx, eax
mov ebp, dword [esp + 0x48]
shl ebp, cl
and ebp, edx
shr ebp, cl
mov ecx, dword [esp + 0x98]
shr esi, cl
mov eax, dword [esp + 0x94]
and esi, eax
mov ecx, ebx
mov eax, dword [esp + 0x90]
mov ebx, eax
shl eax, cl
and eax, edi
and ebp, edx
or ebp, eax
or ebp, esi
mov eax, dword [esp + 0x48]
cmp eax, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov ecx, dword [esp + 0x9c]
shr ebx, cl
and ebx, edx
mov edx, dword [esp + 0x54]
cmp edx, ebx
setne bl
or ebx, ebp
mov ecx, eax
mov eax, edx
test bl, bl
je 0x61bf0c
lea eax, [0x78cd80]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov dword [esp], 0
lea ecx, [0x7b736e]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x128]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], edx
call fcn.0044ec00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x160]
mov dword [edi + 4], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61be68
mov dword [edi], eax
jmp 0x61be6d
call fcn.004643b0
mov ebx, dword [esp + 0x164]
mov dword [edi + 8], ebx
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x61be8d
mov ebx, dword [esp + 0x13c]
mov dword [edi + 0xc], ebx
jmp 0x61bea2
lea ebx, [edi + 0xc]
mov eax, dword [esp + 0x13c]
mov ecx, edi
mov edi, ebx
call fcn.004643b0
mov edi, ecx
mov ebx, dword [esp + 0xa4]
mov dword [edi + 0x10], ebx
sar ebx, 0x1f
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [ebx + 0x3c]
test ebp, ebp
jne 0x61bf01
mov dword [esp], ebx
lea eax, [0x8440d4]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.006196c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61bef7
mov dword [edx + 0x40], eax
jmp 0x61beff
lea edi, [edx + 0x40]
call fcn.004643b0
mov ebx, edx
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x61c415
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00409550
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0xa851a8]
test cl, cl
je 0x61bf53
lea ecx, [0x758e80]
mov dword [0xa851ac], ecx
mov edx, dword [0xaab020]
test edx, edx
jne 0x61bf46
mov dword [0xa851b0], eax
jmp 0x61bf59
lea edi, [0xa851b0]
call fcn.004643b0
jmp 0x61bf59
lea ecx, [0x758e80]
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x180], eax
mov edx, dword [esp + 0x17c]
test edx, edx
je 0x61bf8b
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x61bf91
or ebx, 0x80
jmp 0x61bf91
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x164]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x10], eax
call fcn.004c53a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1bc]
jmp 0x61c415
lea eax, [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.0044eeb0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x12c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004aa8d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x61c03a
mov edx, 1
jmp 0x61c17a
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp + 4], ecx
call fcn.004c4f40
mov eax, dword [esp + 0x10]
and eax, 0x1f
lea ecx, [eax - 2]
mov edx, dword [esp + 8]
cmp ecx, 4
ja 0x61c619
mov eax, dword [edx]
shl eax, 3
add eax, 0xffffffc0
neg eax
mov dword [esp + 0x9c], eax
lea ecx, [eax - 0x20]
mov dword [esp + 0x98], ecx
cmp ecx, 0x20
sbb edx, edx
mov dword [esp + 0x94], edx
mov ebx, ecx
neg ecx
mov dword [esp + 0x90], ecx
cmp ecx, 0x20
sbb ebp, ebp
cmp eax, 0x20
sbb esi, esi
mov edi, eax
shr eax, 5
cmp eax, 1
sbb eax, eax
mov dword [esp + 0x8c], eax
cmp edi, 0x20
sbb eax, eax
mov dword [esp + 0x88], eax
mov ecx, ebx
mov eax, dword [esp + 0x4c]
shl eax, cl
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x4c]
shr ebx, cl
and ebx, ebp
and eax, edx
mov ecx, edi
mov edx, dword [esp + 0x50]
shl edx, cl
and edx, esi
or edx, ebx
or eax, edx
mov dword [esp + 0x84], eax
mov edx, dword [esp + 0x4c]
mov ebx, edx
shl edx, cl
and edx, esi
mov ecx, dword [esp + 0x90]
shl eax, cl
and eax, ebp
mov ebp, dword [esp + 0x94]
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov ecx, ebx
mov ebx, dword [esp + 0x98]
or ebp, ebx
mov ebx, ecx
mov ecx, edi
shr edx, cl
mov ecx, ebp
mov edi, dword [esp + 0x84]
mov ebp, edi
sar edi, cl
mov ecx, ebp
mov ebp, dword [esp + 0x8c]
xor ebp, 0xffffffff
and ebp, edi
and edx, esi
or edx, eax
or ebp, edx
cmp ebx, ebp
setne al
mov edx, dword [esp + 0x88]
not edx
mov ebp, dword [esp + 0x9c]
or ebp, edx
mov edx, ecx
mov ecx, ebp
sar edx, cl
mov ebp, dword [esp + 0x50]
cmp ebp, edx
setne dl
or edx, eax
mov eax, ebp
mov ecx, ebx
test dl, dl
je 0x61c290
lea eax, [0x78cd80]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov dword [esp], 0
lea ecx, [0x7b736e]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x10], edx
call fcn.0044ec00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x160]
mov dword [edi + 4], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61c1ec
mov dword [edi], eax
jmp 0x61c1f1
call fcn.004643b0
mov ebx, dword [esp + 0x164]
mov dword [edi + 8], ebx
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x61c211
mov ebx, dword [esp + 0x13c]
mov dword [edi + 0xc], ebx
jmp 0x61c226
lea ebx, [edi + 0xc]
mov eax, dword [esp + 0x13c]
mov ecx, edi
mov edi, ebx
call fcn.004643b0
mov edi, ecx
mov ebx, dword [esp + 0xa4]
mov dword [edi + 0x10], ebx
sar ebx, 0x1f
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x1bc]
mov ebp, dword [ebx + 0x3c]
test ebp, ebp
jne 0x61c285
mov dword [esp], ebx
lea eax, [0x8440d4]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.006196c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61c27b
mov dword [edx + 0x40], eax
jmp 0x61c283
lea edi, [edx + 0x40]
call fcn.004643b0
mov ebx, edx
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x61c415
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00409550
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0xa851a8]
test cl, cl
je 0x61c2d7
lea ecx, [0x758480]
mov dword [0xa851ac], ecx
mov edx, dword [0xaab020]
test edx, edx
jne 0x61c2ca
mov dword [0xa851b0], eax
jmp 0x61c2dd
lea edi, [0xa851b0]
call fcn.004643b0
jmp 0x61c2dd
lea ecx, [0x758480]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
mov edx, dword [esp + 0x184]
test edx, edx
je 0x61c30f
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x61c315
or ebx, 0x80
jmp 0x61c315
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x164]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x10], eax
call fcn.004c53a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1bc]
jmp 0x61c415
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
call fcn.004c5020
mov eax, dword [esp + 8]
mov dword [esp + 0x15c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x158], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x1bc]
mov dword [esp], ebx
mov ebp, dword [esp + 0x144]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.0061ce00
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
jne 0x61c5d0
mov eax, dword [esp + 0x15c]
mov dword [esp], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
call fcn.004c1d00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1bc]
test edx, edx
je 0x61c46f
mov ebx, dword [esp + 0x174]
mov dword [esp], ebx
mov ebp, dword [esp + 0x178]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xac]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x120]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
call fcn.004c3c30
mov ebx, dword [esp + 0x1bc]
mov edx, ebx
mov ebx, dword [esp + 0xa8]
cmp dword [edx + 0x10], 9
jne 0x61c49c
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.006198f0
mov edx, dword [esp + 0x1bc]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [edx + 0x38]
test ebp, ebp
je 0x61c4e2
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x1b0]
cmp ecx, esi
ja 0x61c612
mov dword [ebp + 0xc], ecx
mov ecx, dword [edx + 0x38]
mov eax, dword [esp + 0x1a8]
mov ebp, dword [esp + 0x1a4]
mov dword [ecx], ebp
mov ebp, dword [0xaab020]
test ebp, ebp
jne 0x61c4da
mov dword [ecx + 4], eax
jmp 0x61c4e2
lea edi, [ecx + 4]
call fcn.004643b0
mov eax, dword [edx + 0x10]
cmp eax, 5
je 0x61c4f8
cmp eax, 4
je 0x61b394
jmp 0x61c5fa
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
add esp, 0x1b8
ret
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x140]
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x78]
cmp edx, ecx
jge 0x61b5d1
jae 0x61cbc3
mov dword [esp + 0x74], edx
lea ecx, [edx + edx*8]
lea edi, [eax + ecx*8]
mov dword [esp + 0x150], edi
lea ebx, [eax + ecx*8 + 0x14]
mov ebx, dword [ebx]
mov dword [esp + 0x16c], ebx
mov ebx, dword [ebx]
lea ecx, [eax + ecx*8 + 8]
mov ecx, dword [ecx]
mov eax, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x16c]
call ebx
movzx eax, byte [esp + 0x18]
test al, al
je 0x61c515
jmp 0x61b5ae
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], edx
add esp, 0x1b8
ret
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], edx
add esp, 0x1b8
ret
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], edx
add esp, 0x1b8
ret
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], edx
add esp, 0x1b8
ret
lea eax, [0x758c80]
mov dword [esp], eax
lea eax, [0x8435d4]
mov dword [esp + 4], eax
call fcn.00436340
mov edx, esi
call fcn.00464470
mov dword [esp + 0xac], eax
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x7c4bbe]
mov dword [eax], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
mov dword [esp + 0xac], eax
lea eax, [0x774fa0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x7c5a3c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 8], ecx
lea ecx, [0x7653c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436340
lea eax, [0x758c80]
mov dword [esp], eax
lea eax, [0x8435ec]
mov dword [esp + 4], eax
call fcn.00436340
mov dword [esp], eax
mov dword [esp + 4], ebp
lea eax, [0x7a4d80]
mov dword [esp + 8], eax
call fcn.004092f0
lea eax, [0x758c80]
mov dword [esp], eax
lea eax, [0x8435d4]
mov dword [esp + 4], eax
call fcn.00436340
mov ecx, dword [esp + 0x120]
mov dword [esp], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
call fcn.004c1eb0
mov eax, dword [esp + 0x7c]
inc eax
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x124], ebp
mov dword [esp + 0x120], esi
mov eax, dword [esp + 0x14c]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x140]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jge 0x61c9f2
mov eax, dword [ecx + ebx*4]
nop
mov ebp, dword [esp + 0x3c]
and ebp, 0x1f
cmp ebp, 0x16
jne 0x61c8e7
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0x3c]
test ebp, 0x200
jne 0x61c8a4
test ebp, 0x80
je 0x61c7b1
mov esi, dword [esp + 0x124]
mov edi, dword [esi]
mov esi, dword [esp + 0x140]
mov dword [esp + 0x130], edi
mov edi, dword [esp + 0x78]
jmp 0x61c7cd
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x130]
test esi, esi
jne 0x61c8a4
mov esi, ebp
and ebp, 0x160
cmp ebp, 0x100
jne 0x61c8f0
test esi, 0x200
jne 0x61c814
lea ebp, [0x8470c4]
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x110], ebp
lea ebp, [0x8470c4]
jmp 0x61c843
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.004c45b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov dword [esp + 0x110], ecx
mov eax, dword [ebp + 0x28]
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004c5020
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x120]
mov dword [esp], ebx
mov ebp, dword [esp + 0x124]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x3c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004c34c0
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004c1d00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebp, edx
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
mov eax, dword [esp + 0x70]
jmp 0x61c6e7
mov ebp, dword [esp + 0x3c]
jmp 0x61c6e7
test esi, 0x200
jne 0x61c907
lea eax, [0x8470c4]
mov ecx, dword [esp + 0x120]
jmp 0x61c92d
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004c45b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
test eax, eax
je 0x61c95a
mov eax, dword [eax + 4]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
lea eax, [0x7d5d0f]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x19c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004d7070
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1bc]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x61c9e8
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.006196c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0xaab020]
test ecx, ecx
jne 0x61c9e0
mov dword [edx + 0x40], eax
jmp 0x61c9e8
lea edi, [edx + 0x40]
call fcn.004643b0
xor eax, eax
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x61ca10
mov edx, dword [esp + 0x1bc]
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x124]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x124], ebp
mov dword [esp + 0x120], ebx
mov byte [esp + 0x2f], al
mov esi, dword [edx + 0x38]
test esi, esi
jne 0x61ca81
lea eax, [0x771a60]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [0xaab020]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x61ca55
mov edx, dword [esp + 0x1bc]
mov dword [edx + 0x38], ecx
jmp 0x61ca6a
mov edi, dword [esp + 0x170]
mov eax, ecx
call fcn.004643b0
mov edx, dword [esp + 0x1bc]
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x124]
mov esi, dword [edx + 0x38]
mov dword [esp + 0x154], esi
mov edi, ecx
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
inc ebx
mov ebp, dword [esi + 8]
mov edx, dword [esp + 0x150]
mov esi, dword [edx]
mov edx, dword [edx + 4]
cmp ecx, ebx
jae 0x61cb1f
mov dword [esp + 0xa0], edx
mov dword [esp + 0x164], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x758c80]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x154]
mov dword [ebx + 0x10], edx
mov edx, dword [0xaab020]
test edx, edx
jne 0x61cafc
mov dword [ebx + 8], eax
jmp 0x61cb04
lea edi, [ebx + 8]
call fcn.004643b0
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x3c]
mov ebx, ecx
mov ebp, eax
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x154]
mov dword [ecx + 0xc], ebx
lea ecx, [ebp + ebx*8 - 4]
mov dword [ecx], edx
lea ecx, [ebp + ebx*8 - 8]
mov edx, dword [0xaab020]
test edx, edx
jne 0x61cb41
mov dword [ecx], esi
jmp 0x61cb52
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, esi
call fcn.004643b0
mov eax, ebx
mov edi, edx
mov ecx, dword [esp + 0x1bc]
mov edx, dword [ecx + 0x38]
mov ebx, dword [esp + 0x30]
mov dword [edx], ebx
mov ebp, dword [0xaab020]
test ebp, ebp
jne 0x61cb78
mov ebp, dword [esp + 0x114]
mov dword [edx + 4], ebp
jmp 0x61cb98
add edx, 4
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x114]
call fcn.004643b0
mov eax, esi
mov ebp, dword [esp + 0x114]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x1bc]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x140]
movzx edi, byte [esp + 0x2f]
jmp 0x61b765
mov eax, edx
call fcn.00464430
call fcn.00464430
lea eax, [0x758c80]
mov dword [esp], eax
lea eax, [0x8435d4]
mov dword [esp + 4], eax
call fcn.00436340
mov eax, edi
mov ecx, ebp
call fcn.00464490
mov ecx, ebp
call fcn.00464470
lea eax, [0x758c80]
mov dword [esp], eax
lea eax, [0x8435d4]
mov dword [esp + 4], eax
call fcn.00436340
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x7a4d80]
mov dword [esp + 8], eax
call fcn.004092f0
nop
call fcn.00462fa0
jmp fcn.0061ac50