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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x110]
cmp eax, dword [ecx + 8]
jbe 0x549050
sub esp, 0x190
mov ebx, dword [esp + 0x198]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 9
xchg ebp, eax
ja 0x54839e
xchg ebp, eax
cmp al, 4
xchg ebp, eax
ja 0x547f28
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jbe 0x547de6
xchg ebp, eax
cmp al, 3
xchg ebp, eax
jne 0x547d91
mov ebp, dword [ebx + 0x18]
test ebp, ebp
je 0x547c8d
mov dword [esp + 0x68], ebp
mov esi, dword [esp + 0x194]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor edi, edi
jmp 0x547b59
mov ebx, dword [esp + 0x198]
mov esi, dword [esp + 0x194]
mov ebp, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
mov edi, edx
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x64]
cmp eax, ebp
jge 0x547c71
mov edi, dword [ebx + 0x1c]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x84], ebp
lea ebp, [eax + 1]
cmp ebp, edi
ja 0x54902e
cmp eax, ebp
ja 0x549027
mov dword [esp + 0x28], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], ecx
movzx ecx, word [ebx + 2]
mov dword [esp], esi
sub edi, eax
mov edx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
shl eax, 2
sar edi, 0x1f
and eax, edi
mov edi, dword [esp + 0x84]
add eax, edi
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], edx
mov word [esp + 0x10], cx
call fcn.005495b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x547b39
mov ebx, dword [esp + 0x48]
test ebx, ebx
jne 0x547bfe
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebx, eax
mov eax, edx
mov edx, ebx
jmp 0x547b39
test eax, eax
je 0x547bed
mov ebp, dword [esp + 0x194]
mov esi, dword [ebp]
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x3c]
jmp 0x547c2b
mov ebx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x194]
mov edi, esi
mov esi, dword [esp + 0x6c]
test edi, edi
je 0x547c6b
mov dword [esp + 0x38], edi
mov ebp, dword [esi]
mov ebx, dword [esi + 4]
shr edi, 1
cmp edi, ebx
jae 0x54901e
lea ebx, [edi + edi*2]
lea edi, [ebp + ebx*8]
mov esi, dword [esp + 0x38]
test esi, 1
jne 0x547c60
mov esi, dword [edi + 4]
lea ebx, [ebp + ebx*8 + 4]
mov dword [ebx], eax
jmp 0x547c16
mov esi, dword [edi + 8]
lea ebx, [ebp + ebx*8 + 8]
mov dword [ebx], eax
jmp 0x547c16
mov eax, edx
mov edx, ebx
jmp 0x547bf3
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], edi
add esp, 0x190
ret
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x160]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0x160], 6
mov ecx, dword [esp + 0x194]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov eax, edx
mov edx, dword [ecx + 8]
mov esi, ecx
lea ecx, [ebx + 1]
cmp ecx, edx
ja 0x547d34
lea ecx, [ebx + 1]
mov dword [esi + 4], ecx
mov ecx, dword [0x770e60]
lea edx, [ebx + ebx*2]
lea edi, [ebp + edx*8]
test ecx, ecx
jne 0x547d11
lea esi, [esp + 0x160]
call fcn.0045e6d4
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x160]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x68]
jmp 0x547cf3
mov dword [esp + 0x80], esi
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x547d8a
mov dword [edi], eax
mov esi, edi
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x68]
jmp 0x547cd0
call fcn.0045df70
jmp 0x547d7b
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
movzx ebx, word [ebx + 2]
mov ebp, dword [esp + 0x194]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], bx
call fcn.005495b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
xchg ebp, eax
cmp al, 1
xchg ebp, eax
je 0x547f00
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x549037
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x178]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0x178], 6
mov ecx, dword [esp + 0x194]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov eax, edx
mov edx, dword [ecx + 8]
mov esi, ecx
lea ecx, [ebx + 1]
cmp ecx, edx
ja 0x547ea3
lea ecx, [ebx + 1]
mov dword [esi + 4], ecx
mov ecx, dword [0x770e60]
lea edx, [ebx + ebx*2]
lea edi, [ebp + edx*8]
test ecx, ecx
jne 0x547e80
lea esi, [esp + 0x178]
call fcn.0045e6d4
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x178]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x68]
jmp 0x547e62
mov dword [esp + 0x80], esi
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x547ef9
mov dword [edi], eax
mov esi, edi
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x68]
jmp 0x547e3f
call fcn.0045df70
jmp 0x547eea
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
add esp, 0x190
ret
xchg ebp, eax
cmp al, 6
xchg ebp, eax
ja 0x547ff2
xchg ebp, eax
cmp al, 5
xchg ebp, eax
jne 0x547f96
mov eax, dword [0x74dc00]
mov ecx, dword [0x74dc04]
mov edx, dword [0x74dc08]
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], 0
call fcn.005495b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
mov eax, dword [0x74dbf0]
mov ecx, dword [0x74dbf4]
mov edx, dword [0x74dbf8]
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], 0
call fcn.005495b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
xchg ebp, eax
cmp al, 7
xchg ebp, eax
jne 0x54812f
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x148]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0x148], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ebx, ecx
ja 0x5480cd
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x770e60]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x5480aa
lea esi, [esp + 0x148]
call fcn.0045e6d4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x549019
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 1
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x148]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x68]
jmp 0x548069
mov dword [esp + 0x80], edi
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x548128
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x548046
call fcn.0045df70
jmp 0x548114
xchg ebp, eax
cmp al, 8
xchg ebp, eax
jne 0x54826c
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x130]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0x130], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ecx, ebx
jb 0x54820a
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x770e60]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x5481e7
lea esi, [esp + 0x130]
call fcn.0045e6d4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x549014
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 2
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x130]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x68]
jmp 0x5481a6
mov dword [esp + 0x80], edi
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x548265
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x548183
call fcn.0045df70
jmp 0x548251
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x118]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0x118], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ecx, ebx
jb 0x54833c
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x770e60]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x548319
lea esi, [esp + 0x118]
call fcn.0045e6d4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x54900f
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 4
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x68]
jmp 0x5482d8
mov dword [esp + 0x80], edi
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x548397
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x5482b5
call fcn.0045df70
jmp 0x548383
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
ja 0x548aef
xchg ebp, eax
cmp al, 0xb
xchg ebp, eax
jbe 0x548880
xchg ebp, eax
cmp al, 0xc
xchg ebp, eax
je 0x54874e
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
mov ebp, dword [ebx + 0x30]
mov dword [esp + 0x68], ebp
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x64], edx
lea edi, [esp + 0xb8]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0xb8], 2
mov ecx, dword [esp + 0x194]
mov esi, ebx
mov ebx, dword [ecx]
mov dword [esp + 0x80], ebx
mov edi, ebp
mov ebp, dword [ebx + 4]
mov edx, dword [ebx]
mov ecx, dword [ebx + 8]
lea ebx, [ebp + 1]
cmp ecx, ebx
jb 0x5486f1
lea ecx, [ebp + 1]
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], ecx
mov ecx, dword [0x770e60]
lea ebx, [ebp + ebp*2]
lea edx, [edx + ebx*8]
test ecx, ecx
jne 0x5486c6
mov edi, edx
mov ebx, esi
lea esi, [esp + 0xb8]
call fcn.0045e6d4
mov edx, dword [esp + 0x194]
mov ebp, dword [edx]
mov ecx, dword [ebp + 4]
mov ebp, dword [ebp]
mov esi, dword [esp + 0x64]
cmp ecx, esi
jbe 0x548ff9
mov edi, dword [esp + 0x68]
shl edi, 1
mov ecx, esi
lea esi, [esi + esi*2]
lea ebp, [ebp + esi*8 + 8]
mov dword [ebp], edi
mov ebp, dword [edx]
lea esi, [edi + 1]
cmp dword [ebp + 0x10], esi
jge 0x548480
mov dword [ebp + 0x10], esi
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
test ebp, ebp
jbe 0x548ff0
mov eax, dword [esi]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00547ac0
mov eax, dword [esp + 0x194]
mov ecx, dword [eax]
mov edx, dword [esp + 0x198]
mov edx, dword [edx + 0x30]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x60], ebx
nop
mov ecx, dword [ecx + 4]
mov dword [esp + 0x5c], ecx
mov ebp, dword [esp + 8]
mov dword [esp + 0x58], ebp
lea edi, [esp + 0xa0]
mov esi, eax
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0xa0], 2
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov ebx, dword [eax + 8]
lea ebp, [ecx + 1]
cmp ebp, ebx
ja 0x548662
lea ebx, [ecx + 1]
mov dword [eax + 4], ebx
mov ebx, dword [0x770e60]
lea ecx, [ecx + ecx*2]
lea edi, [edi + ecx*8]
test ebx, ebx
jne 0x548635
mov eax, esi
lea esi, [esp + 0xa0]
call fcn.0045e6d4
mov ebx, dword [eax]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x5c]
cmp ebp, ecx
jae 0x548fe9
shl edx, 1
or edx, 1
lea esi, [ebp + ebp*2]
lea ebx, [ebx + esi*8 + 8]
mov dword [ebx], edx
mov ebx, dword [eax]
inc edx
cmp dword [ebx + 0x10], edx
jge 0x54854d
mov dword [ebx + 0x10], edx
mov edx, dword [esp + 0x64]
test edx, edx
jne 0x5485c7
xor ecx, ecx
xor edx, edx
test ecx, ecx
je 0x5485c1
test ebp, ebp
je 0x5485c1
mov ebx, dword [eax]
jmp 0x548569
mov edx, ebx
mov ebx, eax
test edx, edx
je 0x5485a3
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov eax, edx
shr eax, 1
cmp edi, eax
jbe 0x548fd9
lea edi, [eax + eax*2]
mov eax, ebx
lea ebx, [esi + edi*8]
test edx, 1
jne 0x548598
lea edx, [esi + edi*8 + 4]
mov ebx, dword [edx]
mov dword [edx], ebp
jmp 0x548565
mov ebx, dword [ebx + 8]
lea edx, [esi + edi*8 + 8]
mov dword [edx], ebp
jmp 0x548565
shl ebp, 1
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], ebp
mov dword [esp + 0x1a4], ebp
add esp, 0x190
ret
xor ebp, ebp
xor ecx, ecx
jmp 0x5485a5
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x548555
mov esi, edx
shl edx, 1
mov edi, dword [eax]
mov dword [esp + 0x74], edi
jmp 0x5485e7
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x64]
mov edx, ebp
mov ebp, ecx
test edx, edx
je 0x54862a
mov dword [esp + 0x34], edx
mov ecx, ebp
mov ebp, dword [edi]
mov esi, dword [edi + 4]
shr edx, 1
cmp edx, esi
jae 0x548fe0
lea edx, [edx + edx*2]
lea esi, [ebp + edx*8]
mov edi, dword [esp + 0x34]
test edi, 1
jne 0x54861d
lea edx, [ebp + edx*8 + 4]
mov ebp, dword [edx]
mov dword [edx], ebx
jmp 0x5485db
mov esi, dword [esi + 8]
lea edx, [ebp + edx*8 + 8]
mov dword [edx], ebx
mov ebp, esi
jmp 0x5485db
mov ecx, esi
mov edx, dword [esp + 0x60]
jmp 0x548559
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa0]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x194]
mov edx, dword [esp + 0x68]
jmp 0x548520
mov dword [esp + 0x80], eax
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x5486bf
mov dword [edi], eax
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x194]
mov ebx, eax
mov eax, edi
mov edi, ebx
jmp 0x5484f8
call fcn.0045df70
jmp 0x5486a9
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
call fcn.004106b0
xor eax, eax
mov ebx, dword [esp + 0x198]
jmp 0x548446
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x548747
mov dword [edi], eax
mov esi, dword [esp + 0x198]
mov edi, dword [esp + 0x68]
mov ebp, ecx
mov edx, eax
xor eax, eax
jmp 0x548414
call fcn.0045df70
jmp 0x548731
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0xd0], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ebx, ecx
ja 0x54881e
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x770e60]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x5487fb
lea esi, [esp + 0xd0]
call fcn.0045e6d4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x549000
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 0x20
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xd0]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x68]
jmp 0x5487ba
mov dword [esp + 0x80], edi
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x548879
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x548797
call fcn.0045df70
jmp 0x548865
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
jne 0x5489bd
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x100]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0x100], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ebx, ecx
ja 0x54895b
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x770e60]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x548938
lea esi, [esp + 0x100]
call fcn.0045e6d4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x54900a
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 8
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x68]
jmp 0x5488f7
mov dword [esp + 0x80], edi
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x5489b6
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x5488d4
call fcn.0045df70
jmp 0x5489a2
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0xe8]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0xe8], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ebx, ecx
ja 0x548a8d
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x770e60]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x548a6a
lea esi, [esp + 0xe8]
call fcn.0045e6d4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x549005
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 0x10
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x68]
jmp 0x548a29
mov dword [esp + 0x80], edi
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x548ae8
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x548a06
call fcn.0045df70
jmp 0x548ad4
xchg ebp, eax
cmp al, 0xf
xchg ebp, eax
jbe 0x548e9b
xchg ebp, eax
cmp al, 0x10
xchg ebp, eax
je 0x548e12
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x548d48
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
test ecx, ecx
je 0x548c44
mov dword [esp + 0x7c], edx
mov dword [esp + 0x68], ecx
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x548b45
mov edi, dword [esp + 0x2c]
inc edi
mov ebx, eax
mov ebp, ecx
mov esi, edx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x7c]
mov eax, edi
cmp ecx, eax
jle 0x548c28
mov dword [esp + 0x2c], eax
mov esi, dword [edx + eax*4]
test eax, eax
jne 0x548b79
mov eax, dword [esp + 0x194]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.00547ac0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
jmp 0x548b30
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x194]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.00547ac0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x44]
test ebx, ebx
jne 0x548bb9
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebx, edx
mov edx, eax
mov eax, ebx
jmp 0x548b30
test edx, edx
je 0x548ba8
mov esi, dword [esp + 0x194]
mov edi, dword [esi]
mov dword [esp + 0x70], edi
mov ebp, dword [esp + 0x40]
jmp 0x548bdf
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x194]
test ebp, ebp
je 0x548c1e
mov dword [esp + 0x30], ebp
mov esi, dword [edi]
mov ebx, dword [edi + 4]
shr ebp, 1
cmp ebx, ebp
jbe 0x548fbb
lea ebx, [ebp + ebp*2]
lea ebp, [esi + ebx*8]
mov edi, dword [esp + 0x30]
test edi, 1
jne 0x548c13
lea ebx, [esi + ebx*8 + 4]
mov ebp, dword [ebx]
mov dword [ebx], edx
jmp 0x548bd0
mov ebp, dword [ebp + 8]
lea ebx, [esi + ebx*8 + 8]
mov dword [ebx], edx
jmp 0x548bd0
mov edx, ebx
mov ebp, eax
mov eax, ecx
mov ecx, ebp
jmp 0x548bae
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], ebp
mov dword [esp + 0x1a4], esi
add esp, 0x190
ret
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x88]
xor eax, eax
call fcn.0045e1fa
mov byte [esp + 0x88], 6
mov ecx, dword [esp + 0x194]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov eax, edx
mov edx, dword [ecx + 8]
mov esi, ecx
lea ecx, [ebx + 1]
cmp edx, ecx
jb 0x548ceb
lea ecx, [ebx + 1]
mov dword [esi + 4], ecx
mov ecx, dword [0x770e60]
lea edx, [ebx + ebx*2]
lea edi, [ebp + edx*8]
test ecx, ecx
jne 0x548cc8
lea esi, [esp + 0x88]
call fcn.0045e6d4
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
call fcn.004106b0
mov eax, dword [esp + 0x68]
jmp 0x548caa
mov dword [esp + 0x80], esi
lea eax, [0x5d30c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004450a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x770e60]
test edx, edx
jne 0x548d41
mov dword [edi], eax
mov esi, edi
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x68]
jmp 0x548c87
call fcn.0045df70
jmp 0x548d32
xchg ebp, eax
cmp al, 0x13
xchg ebp, eax
jne 0x549037
mov eax, dword [ebx + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x68], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x548dee
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x64], edx
mov ecx, dword [eax + edx*4]
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00547ac0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call fcn.00549060
mov eax, dword [esp + 0x64]
lea edx, [eax + 1]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x68]
cmp ecx, edx
jg 0x548d6e
mov dword [esp + 0x19c], esi
mov dword [esp + 0x1a0], ebp
mov dword [esp + 0x1a4], ebx
add esp, 0x190
ret
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
test ecx, ecx
jbe 0x548fc4
mov eax, dword [edx]
mov ecx, dword [esp + 0x194]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00547ac0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x198]
movzx ebx, word [ebx + 2]
mov ebp, dword [esp + 0x194]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
test bx, 0x20
setne al
mov byte [esp + 0x10], al
call fcn.00549260
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
xchg ebp, eax
cmp al, 0xe
xchg ebp, eax
jne 0x548f2f
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
test ecx, ecx
jbe 0x548fd2
mov eax, dword [edx]
mov ecx, dword [esp + 0x194]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00547ac0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x198]
movzx ebx, word [ebx + 2]
mov ebp, dword [esp + 0x194]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
test bx, 0x20
setne al
mov byte [esp + 0x10], al
call fcn.00549410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
test ecx, ecx
jbe 0x548fcb
mov eax, dword [edx]
mov ecx, dword [esp + 0x194]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00547ac0
mov eax, dword [esp + 0x198]
movzx eax, word [eax + 2]
mov ecx, dword [esp + 8]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x194]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
test ax, 0x20
setne al
mov byte [esp + 0x10], al
call fcn.00549410
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x190
ret
mov eax, ebp
mov ecx, ebx
call fcn.0045e000
xor eax, eax
call fcn.0045dff0
xor eax, eax
call fcn.0045dff0
xor eax, eax
call fcn.0045dff0
mov ecx, edi
call fcn.0045e000
mov eax, edx
mov ecx, esi
call fcn.0045e000
mov eax, ebp
call fcn.0045e000
xor eax, eax
mov ecx, ebp
call fcn.0045dff0
mov eax, esi
call fcn.0045e000
call fcn.0045e000
call fcn.0045e000
call fcn.0045e000
call fcn.0045e000
call fcn.0045e000
call fcn.0045e000
mov eax, edi
mov ecx, ebx
call fcn.0045e000
mov ecx, ebp
call fcn.0045e050
mov ecx, ebp
mov edx, edi
call fcn.0045e030
lea eax, [0x5beac0]
mov dword [esp], eax
lea eax, [0x637ed8]
mov dword [esp + 4], eax
call fcn.00431a00
nop
call fcn.0045ca10
jmp fcn.00547ac0