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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c8]
cmp eax, dword [ecx + 8]
jbe 0x5526fd
sub esp, 0x248
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0xc8]
mov edx, dword [eax + 0xcc]
test ecx, ecx
jne 0x552678
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.004018d0
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0x190]
mov edx, dword [eax + 0x188]
cmp edx, ecx
setbe bl
mov ebp, dword [eax + 0x194]
mov esi, edx
sar edx, 0x1f
cmp edx, ebp
sete dl
xchg ebp, ebx
setl bl
xchg ebp, ebx
and edx, ebx
or ebp, edx
mov edx, dword [esp + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x55266f
xor ecx, ecx
test ecx, ecx
jne 0x552531
mov dword [esp + 0xf0], edx
lea edi, [eax + 0x184]
mov dword [esp + 0xf4], edi
nop
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55251a
xor eax, eax
call fcn.0045cbba
mov eax, dword [esp + 0x24c]
mov dword [eax + 0x198], 0xffffffff
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [0x64a840]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0040a160
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
call fcn.00552a20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x550225
cmp dword [0x7ccdb8], eax
je 0x5501ef
xor edx, edx
test dl, dl
je 0x5501e3
mov edx, dword [esp + 0x24c]
mov ebx, dword [edx + 0x174]
cmp dword [edx + 0x17c], ebx
jne 0x550069
mov eax, dword [0x7ccd90]
mov ecx, dword [0x7ccd94]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x50], eax
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0040a2a0
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x10]
test cl, cl
jne 0x5501ce
mov eax, 1
test al, al
jne 0x5500c8
mov eax, dword [esp + 0x50]
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x258], eax
add esp, 0x248
ret
nop
lea eax, [0x653520]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x114]
mov dword [esp + 8], ecx
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x55013c
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ebx, dword [0x7e34e0]
test ebx, ebx
jne 0x550125
mov eax, dword [esp + 0x114]
mov dword [edx + 0xcc], eax
jmp 0x5500a8
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x114]
call fcn.0045c920
jmp 0x5500a8
mov dword [esp + 0x168], eax
mov dword [esp + 0xe0], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xe0]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5501b9
mov ecx, dword [esp + 0x168]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5501ac
mov dword [edx + 0xcc], eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x50]
jmp 0x5500a8
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x55019c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x168]
call fcn.0045c920
mov eax, ecx
jmp 0x550179
mov eax, dword [eax + 0x14]
mov dword [esp], edx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
jmp 0x5500a4
mov edx, dword [esp + 0x24c]
jmp 0x550069
mov dword [esp + 0x4c], eax
mov dword [esp + 0xfc], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x7ccdbc]
mov dword [esp + 8], edx
call fcn.00404120
movzx edx, byte [esp + 0xc]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xfc]
jmp 0x550040
mov ebx, dword [esp + 0x24c]
mov ebp, dword [ebx + 0x170]
mov ecx, dword [ebx + 0x174]
mov edx, dword [ebx + 0x178]
mov eax, dword [ebx + 0x17c]
cmp eax, ecx
ja 0x5526f7
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp ecx, 5
jb 0x5526e9
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0xf0]
cmp edx, 1
jne 0x552329
mov esi, edx
movzx edx, byte [ebp + eax + 1]
shl edx, 8
mov edi, ecx
movzx ecx, byte [ebp + eax + 2]
or edx, ecx
movzx ecx, byte [ebp + eax + 3]
shl ecx, 8
movzx ebp, byte [ebp + eax + 4]
or ecx, ebp
movzx ebp, byte [ebx + 0x26]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x552322
mov eax, ecx
movzx ecx, word [ebx + 0x24]
cmp cx, 0x304
je 0x552319
cmp dx, cx
jne 0x55207b
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x551e62
mov dword [esp + 0xec], eax
cmp word [ebx + 0x24], 0x304
jne 0x55053f
cmp eax, 0x4100
jle 0x55053f
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.00552d50
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.00409e70
mov eax, dword [esp + 4]
lea ecx, [0x642dc0]
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], eax
lea eax, [0x68719a]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x1b8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004ae800
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x218]
mov edx, eax
xor eax, eax
call fcn.0045cbba
mov dword [esp + 0x218], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0x174]
mov edx, dword [eax + 0x170]
mov ebx, dword [eax + 0x178]
mov ebp, dword [eax + 0x17c]
cmp ebp, ecx
ja 0x5526cf
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jge 0x550535
lea ebx, [esp + 0x220]
cmp ebx, edx
je 0x5503e8
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045d2c0
lea edi, [esp + 0x230]
lea esi, [esp + 0x218]
call fcn.0045d094
lea eax, [0x6cb390]
mov dword [esp], eax
lea eax, [esp + 0x230]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x60], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x5504ab
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550497
mov eax, dword [esp + 0x118]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x118]
call fcn.0045c920
jmp 0x550476
mov dword [esp + 0x174], eax
mov dword [esp + 0xd0], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550520
mov ecx, dword [esp + 0x174]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550510
mov dword [edx + 0xcc], eax
jmp 0x550476
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x550476
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x174]
call fcn.0045c920
mov eax, ecx
jmp 0x5504e8
mov ecx, 5
jmp 0x5503cd
cmp eax, 0x4800
jg 0x5502e7
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
lea edx, [0x64a840]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0040a160
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xec]
add eax, 5
mov dword [esp + 0xec], eax
mov dword [esp + 0xc], eax
call fcn.00552a20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x551ce8
nop
mov ebx, dword [esp + 0x24c]
mov byte [ebx + 0x180], 0
nop
mov edx, dword [ebx + 0x178]
mov ebp, dword [ebx + 0x170]
mov esi, dword [ebx + 0x174]
mov eax, dword [ebx + 0x17c]
sub esi, eax
mov edi, dword [esp + 0xec]
cmp edi, esi
jle 0x551ce1
lea ecx, [esi + eax]
cmp ecx, edx
ja 0x5526ca
cmp eax, ecx
ja 0x5526c5
mov dword [ebx + 0x17c], ecx
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebp
test esi, esi
jle 0x550613
mov byte [ebx + 0x180], 0xff
lea edx, [ebx + 0xc0]
mov dword [esp + 0x1b4], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
call fcn.0054e6a0
mov eax, dword [esp + 0x14]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
test ebx, ebx
je 0x55079a
lea eax, [0x6cb3b0]
cmp eax, ebx
jne 0x5526a9
movzx eax, byte [esi]
mov ecx, dword [esp + 0x24c]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x48], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x550710
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5506fc
mov eax, dword [esp + 0x128]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x128]
call fcn.0045c920
jmp 0x5506db
mov dword [esp + 0x15c], eax
mov dword [esp + 0xb8], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550785
mov ecx, dword [esp + 0x15c]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550775
mov dword [edx + 0xcc], eax
jmp 0x5506db
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x5506db
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x15c]
call fcn.0045c920
mov eax, ecx
jmp 0x55074d
cmp eax, 0x4000
jg 0x551bac
mov ebx, dword [esp + 0x24c]
mov esi, dword [ebx + 0xd4]
test esi, esi
je 0x551a75
cmp cl, 0x15
je 0x5507d2
cmp cl, 0x14
je 0x5507d2
test eax, eax
jle 0x5507d2
mov dword [ebx + 0x1dc], 0
movzx esi, word [ebx + 0x24]
cmp si, 0x304
jne 0x551a6b
cmp cl, 0x16
je 0x551a61
mov edi, ebp
mov ebp, dword [ebx + 0x1a0]
sub ebp, dword [ebx + 0x1a8]
test ebp, ebp
jg 0x551933
cmp cl, 0x15
ja 0x5515af
cmp cl, 0x14
jne 0x550d95
cmp eax, 1
je 0x550949
mov dword [esp], ebx
mov byte [esp + 4], 0x32
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x34], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x5508bf
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5508ab
mov eax, dword [esp + 0x13c]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x13c]
call fcn.0045c920
jmp 0x55088a
mov dword [esp + 0x14c], eax
mov dword [esp + 0x98], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550934
mov ecx, dword [esp + 0x14c]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550924
mov dword [edx + 0xcc], eax
jmp 0x55088a
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x55088a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x14c]
call fcn.0045c920
mov eax, ecx
jmp 0x5508fc
cmp byte [edx], 1
jne 0x55081b
mov eax, dword [ebx + 0x1a0]
sub eax, dword [ebx + 0x1a8]
test eax, eax
jg 0x550c61
cmp si, 0x304
je 0x550c30
movzx eax, byte [esp + 0x250]
test al, al
je 0x550b02
mov eax, dword [esp + 0x1b4]
mov dword [esp], eax
call fcn.0054e1c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x550ae5
lea edx, [0x6cb3b0]
cmp eax, edx
jne 0x55268d
movzx eax, byte [ecx]
mov ecx, dword [esp + 0x24c]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x550a5b
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550a47
mov eax, dword [esp + 0x11c]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x11c]
call fcn.0045c920
jmp 0x550a26
mov dword [esp + 0xdc], edx
mov dword [esp + 0x178], eax
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xdc]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550ad0
mov ecx, dword [esp + 0x178]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550ac0
mov dword [edx + 0xcc], eax
jmp 0x550a26
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x550a26
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x178]
call fcn.0045c920
mov eax, ecx
jmp 0x550a98
mov dword [esp + 0x254], 0
mov dword [esp + 0x258], 0
add esp, 0x248
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x68], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x550ba6
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550b92
mov eax, dword [esp + 0x130]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x130]
call fcn.0045c920
jmp 0x550b71
mov dword [esp + 0x164], eax
mov dword [esp + 0xc8], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc8]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550c1b
mov ecx, dword [esp + 0x164]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550c0b
mov dword [edx + 0xcc], eax
jmp 0x550b71
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x550b71
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x164]
call fcn.0045c920
mov eax, ecx
jmp 0x550be3
mov dword [esp], ebx
movzx eax, byte [esp + 0x250]
mov byte [esp + 4], al
call fcn.00552710
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x144], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x550d0b
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550cf7
mov eax, dword [esp + 0x144]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x144]
call fcn.0045c920
jmp 0x550cd6
mov dword [esp + 0x150], eax
mov dword [esp + 0x8c], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550d80
mov ecx, dword [esp + 0x150]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550d70
mov dword [edx + 0xcc], eax
jmp 0x550cd6
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x550cd6
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x150]
call fcn.0045c920
mov eax, ecx
jmp 0x550d48
cmp cl, 0x15
jne 0x551481
cmp eax, 2
jne 0x551353
movzx eax, byte [edx + 1]
test al, al
je 0x55122e
mov byte [esp + 0x29], al
cmp si, 0x304
je 0x5510b2
movzx ecx, byte [edx]
cmp cl, 1
je 0x551081
cmp cl, 2
jne 0x550f53
lea eax, [0x6612a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x67bdfd]
mov dword [eax], ecx
lea ecx, [0x6cb3b0]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x7e34e0]
movzx edx, byte [esp + 0x29]
movzx edx, dl
lea ebx, [0x5f8be0]
lea edx, [ebx + edx*8]
test ecx, ecx
jne 0x550f40
mov dword [eax + 0x24], edx
mov dword [esp + 0x1b0], eax
lea ecx, [0x653520]
mov dword [esp], ecx
lea ecx, [0x6caeb0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x550eb6
lea ecx, [0x6caeb0]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550ea2
mov eax, dword [esp + 0x1b0]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x1b0]
call fcn.0045c920
jmp 0x550e81
mov dword [esp + 0x194], eax
mov dword [esp + 0x9c], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x9c]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550f2b
mov ecx, dword [esp + 0x194]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550f1b
mov dword [edx + 0xcc], eax
jmp 0x550e81
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x550e81
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x194]
call fcn.0045c920
mov eax, ecx
jmp 0x550ef3
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, edx
call fcn.0045c920
mov eax, ecx
jmp 0x550e23
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x110], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x38], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x550ff7
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x550fe3
mov eax, dword [esp + 0x110]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x110]
call fcn.0045c920
jmp 0x550fc2
mov dword [esp + 0x170], eax
mov dword [esp + 0xcc], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xcc]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55106c
mov ecx, dword [esp + 0x170]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55105c
mov dword [edx + 0xcc], eax
jmp 0x550fc2
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x550fc2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x170]
call fcn.0045c920
mov eax, ecx
jmp 0x551034
mov dword [esp], ebx
movzx eax, byte [esp + 0x250]
mov byte [esp + 4], al
call fcn.00552710
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea eax, [0x6612a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x67bdfd]
mov dword [eax], ecx
lea ecx, [0x6cb3b0]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x7e34e0]
movzx edx, byte [esp + 0x29]
movzx edx, dl
lea ebx, [0x5f8be0]
lea edx, [ebx + edx*8]
test ecx, ecx
jne 0x55121b
mov dword [eax + 0x24], edx
mov dword [esp + 0x1b0], eax
lea ecx, [0x653520]
mov dword [esp], ecx
lea ecx, [0x6caeb0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x551191
lea ecx, [0x6caeb0]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55117d
mov eax, dword [esp + 0x1b0]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x1b0]
call fcn.0045c920
jmp 0x55115c
mov dword [esp + 0x158], eax
mov dword [esp + 0xb4], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb4]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551206
mov ecx, dword [esp + 0x158]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5511f6
mov dword [edx + 0xcc], eax
jmp 0x55115c
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x55115c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x158]
call fcn.0045c920
mov eax, ecx
jmp 0x5511ce
lea edi, [eax + 0x24]
mov ecx, eax
mov eax, edx
call fcn.0045c920
mov eax, ecx
jmp 0x5510fe
mov eax, dword [0x7ccd94]
mov dword [esp + 0xf8], eax
mov ecx, dword [0x7ccd90]
mov dword [esp + 0x3c], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x5512c9
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5512b5
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0xf8]
call fcn.0045c920
jmp 0x551294
mov dword [esp + 0x19c], eax
mov dword [esp + 0xc0], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55133e
mov ecx, dword [esp + 0x19c]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55132e
mov dword [edx + 0xcc], eax
jmp 0x551294
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x551294
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x19c]
call fcn.0045c920
mov eax, ecx
jmp 0x551306
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x5513f7
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5513e3
mov eax, dword [esp + 0x120]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x120]
call fcn.0045c920
jmp 0x5513c2
mov dword [esp + 0x17c], eax
mov dword [esp + 0xc4], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55146c
mov ecx, dword [esp + 0x17c]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55145c
mov dword [edx + 0xcc], eax
jmp 0x5513c2
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x5513c2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x17c]
call fcn.0045c920
mov eax, ecx
jmp 0x551434
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x12c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x58], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x551525
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551511
mov eax, dword [esp + 0x12c]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x12c]
call fcn.0045c920
jmp 0x5514f0
mov dword [esp + 0x16c], eax
mov dword [esp + 0xb0], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb0]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55159a
mov ecx, dword [esp + 0x16c]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55158a
mov dword [edx + 0xcc], eax
jmp 0x5514f0
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x5514f0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x16c]
call fcn.0045c920
mov eax, ecx
jmp 0x551562
cmp cl, 0x16
jne 0x55171d
test eax, eax
jne 0x5516ee
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x148], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x64], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x551664
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551650
mov eax, dword [esp + 0x148]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x148]
call fcn.0045c920
jmp 0x55162f
mov dword [esp + 0xac], edx
mov dword [esp + 0x160], eax
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5516d9
mov ecx, dword [esp + 0x160]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5516c9
mov dword [edx + 0xcc], eax
jmp 0x55162f
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x55162f
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x160]
call fcn.0045c920
mov eax, ecx
jmp 0x5516a1
movzx ecx, byte [esp + 0x250]
test cl, cl
jne 0x5515c0
lea ecx, [ebx + 0x19c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call fcn.004b5480
jmp 0x550ae5
cmp cl, 0x17
jne 0x551481
mov ecx, dword [esp + 0xf0]
cmp ecx, 1
jne 0x551742
movzx ecx, byte [esp + 0x250]
test cl, cl
je 0x551870
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x5517e6
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5517d2
mov eax, dword [esp + 0x10c]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x10c]
call fcn.0045c920
jmp 0x5517b1
mov dword [esp + 0x18c], eax
mov dword [esp + 0xa0], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa0]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55185b
mov ecx, dword [esp + 0x18c]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55184b
mov dword [edx + 0xcc], eax
jmp 0x5517b1
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x5517b1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x18c]
call fcn.0045c920
mov eax, ecx
jmp 0x551823
test eax, eax
je 0x55190a
mov dword [esp + 0xec], edi
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5518c1
mov edi, dword [esp + 0xf4]
mov ebp, eax
xor eax, eax
call fcn.0045cbba
mov dword [ebx + 0x184], edx
mov dword [ebx + 0x188], ebp
mov eax, dword [esp + 0xec]
mov dword [ebx + 0x18c], eax
mov dword [ebx + 0x198], 0xffffffff
jmp 0x550ae5
mov dword [esp + 0xe8], eax
mov dword [esp + 0x1a8], edx
lea eax, [0x659440]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
call fcn.00411f70
mov ebx, dword [esp + 0x24c]
lea edi, [ebx + 0x184]
mov eax, dword [esp + 0x1a8]
call fcn.0045c920
mov ebp, dword [esp + 0xe8]
jmp 0x55189f
mov dword [esp], ebx
mov byte [esp + 4], cl
call fcn.00552710
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x7c], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x5519d7
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5519c3
mov eax, dword [esp + 0x138]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x138]
call fcn.0045c920
jmp 0x5519a2
mov dword [esp + 0x154], eax
mov dword [esp + 0xa8], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa8]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551a4c
mov ecx, dword [esp + 0x154]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551a3c
mov dword [edx + 0xcc], eax
jmp 0x5519a2
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x5519a2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x154]
call fcn.0045c920
mov eax, ecx
jmp 0x551a14
cmp cl, 0x15
mov edi, ebp
jmp 0x550803
cmp cl, 0x15
mov edi, ebp
jmp 0x550803
cmp cl, 0x17
jne 0x5507ba
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x74], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x551b22
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551b0e
mov eax, dword [esp + 0x140]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x140]
call fcn.0045c920
jmp 0x551aed
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x94], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551b97
mov ecx, dword [esp + 0x1a4]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551b87
mov dword [edx + 0xcc], eax
jmp 0x551aed
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x551aed
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x1a4]
call fcn.0045c920
mov eax, ecx
jmp 0x551b5f
mov eax, dword [esp + 0x24c]
mov dword [esp], eax
mov byte [esp + 4], 0x16
call fcn.00552d50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x5c], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x551c57
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551c43
mov eax, dword [esp + 0x134]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x134]
call fcn.0045c920
jmp 0x551c22
mov dword [esp + 0x180], eax
mov dword [esp + 0x90], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551ccc
mov ecx, dword [esp + 0x180]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551cbc
mov dword [edx + 0xcc], eax
jmp 0x551c22
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x551c22
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x180]
call fcn.0045c920
mov eax, ecx
jmp 0x551c94
mov esi, edi
jmp 0x5505e2
mov dword [esp + 0x124], ecx
mov dword [esp + 0x70], eax
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0040a2a0
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x10]
test cl, cl
jne 0x551e4d
mov eax, 1
test al, al
jne 0x551d47
mov eax, dword [esp + 0x70]
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x258], eax
add esp, 0x248
ret
nop
lea eax, [0x653520]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 8], ecx
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x551dbb
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ebx, dword [0x7e34e0]
test ebx, ebx
jne 0x551da4
mov eax, dword [esp + 0x124]
mov dword [edx + 0xcc], eax
jmp 0x551d27
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x124]
call fcn.0045c920
jmp 0x551d27
mov dword [esp + 0x184], eax
mov dword [esp + 0xbc], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xbc]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551e38
mov ecx, dword [esp + 0x184]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551e2b
mov dword [edx + 0xcc], eax
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x70]
jmp 0x551d27
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x551e1b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x184]
call fcn.0045c920
mov eax, ecx
jmp 0x551df8
mov eax, dword [eax + 0x14]
mov dword [esp], edx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
jmp 0x551d23
xchg edi, eax
cmp al, 0x15
xchg edi, eax
je 0x55206b
xchg edi, eax
cmp al, 0x16
xchg edi, eax
je 0x55206b
mov ecx, dword [ebx]
mov dword [esp + 0xe4], ecx
mov edx, dword [ebx + 4]
lea edi, [esp + 0x1d0]
xor eax, eax
call fcn.0045cbba
lea ecx, [0x688f51]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], 0x2f
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], edx
mov ecx, dword [ebx + 0x174]
mov edx, dword [ebx + 0x170]
mov ebp, dword [ebx + 0x178]
mov eax, dword [ebx + 0x17c]
cmp ecx, eax
jb 0x5526d6
sub ecx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
add eax, edx
cmp ecx, 5
jge 0x552061
lea edx, [esp + 0x1d8]
cmp edx, eax
je 0x551f14
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0045d2c0
lea edi, [esp + 0x230]
lea esi, [esp + 0x1d0]
call fcn.0045d094
lea eax, [0x6cb390]
mov dword [esp], eax
lea eax, [esp + 0x230]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x551fd7
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x551fc3
mov eax, dword [esp + 0x108]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x108]
call fcn.0045c920
jmp 0x551fa2
mov dword [esp + 0x188], eax
mov dword [esp + 0x88], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x88]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55204c
mov ecx, dword [esp + 0x188]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55203c
mov dword [edx + 0xcc], eax
jmp 0x551fa2
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x551fa2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x188]
call fcn.0045c920
mov eax, ecx
jmp 0x552014
mov ecx, 5
jmp 0x551ef9
cmp dx, 0x1000
jae 0x551e78
jmp 0x5502c9
mov word [esp + 0x2a], dx
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.00552d50
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
movzx eax, word [esp + 0x2a]
mov word [esp], ax
call fcn.00409e00
mov eax, dword [esp + 4]
lea ecx, [0x643840]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x24c]
movzx edx, word [eax + 0x24]
mov word [esp], dx
call fcn.00409e00
mov eax, dword [esp + 4]
lea ecx, [0x643840]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], eax
lea eax, [0x68ae91]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0x1c0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ae800
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x1e8]
mov edx, eax
xor eax, eax
call fcn.0045cbba
mov dword [esp + 0x1e8], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0x174]
mov edx, dword [eax + 0x170]
mov ebx, dword [eax + 0x178]
mov ebp, dword [eax + 0x17c]
cmp ebp, ecx
ja 0x5526db
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jge 0x55230f
lea ebx, [esp + 0x1f0]
cmp ebx, edx
je 0x5521c2
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045d2c0
lea edi, [esp + 0x230]
lea esi, [esp + 0x1e8]
call fcn.0045d094
lea eax, [0x6cb390]
mov dword [esp], eax
lea eax, [esp + 0x230]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x6c], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x552285
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x552271
mov eax, dword [esp + 0x104]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x104]
call fcn.0045c920
jmp 0x552250
mov dword [esp + 0x198], eax
mov dword [esp + 0xd4], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xd4]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5522fa
mov ecx, dword [esp + 0x198]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5522ea
mov dword [edx + 0xcc], eax
jmp 0x552250
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x552250
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x198]
call fcn.0045c920
mov eax, ecx
jmp 0x5522c2
mov ecx, 5
jmp 0x5521a7
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x5502c3
mov eax, ecx
jmp 0x5502c3
cmp cl, 0x80
jne 0x550275
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.00552d50
lea edi, [esp + 0x200]
xor eax, eax
call fcn.0045cbba
lea eax, [0x685f89]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], 0x24
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0x174]
mov edx, dword [eax + 0x170]
mov ebx, dword [eax + 0x178]
mov ebp, dword [eax + 0x17c]
cmp ebp, ecx
ja 0x5526e2
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jge 0x552510
lea ebx, [esp + 0x208]
cmp ebx, edx
je 0x5523bd
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045d2c0
lea edi, [esp + 0x230]
lea esi, [esp + 0x200]
call fcn.0045d094
lea eax, [0x6cb390]
mov dword [esp], eax
lea eax, [esp + 0x230]
mov dword [esp + 4], eax
call fcn.0040a0f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x80], ecx
lea edx, [0x653520]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x552486
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x552472
mov eax, dword [esp + 0x100]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x100]
call fcn.0045c920
jmp 0x552451
mov dword [esp + 0x1a0], eax
mov dword [esp + 0xa4], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa4]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5524fb
mov ecx, dword [esp + 0x1a0]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5524eb
mov dword [edx + 0xcc], eax
jmp 0x552451
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x552451
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x1a0]
call fcn.0045c920
mov eax, ecx
jmp 0x5524c3
mov ecx, 5
jmp 0x5523a2
lea eax, [0x659440]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00411f70
jmp 0x54ffcf
lea eax, [0x64d2c0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [esp + 0x1ac], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x68c259]
mov dword [eax], ecx
lea ecx, [0x653520]
mov dword [esp], ecx
lea ecx, [0x6cadb0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040a2a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
test cl, cl
jne 0x5525e5
lea ecx, [0x6cadb0]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x5525d1
mov eax, dword [esp + 0x1ac]
mov dword [edx + 0xcc], eax
mov eax, dword [edx + 0xc8]
mov ecx, dword [edx + 0xcc]
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], ecx
add esp, 0x248
ret
lea edi, [edx + 0xcc]
mov eax, dword [esp + 0x1ac]
call fcn.0045c920
jmp 0x5525b0
mov dword [esp + 0x190], eax
mov dword [esp + 0xd8], edx
lea eax, [0x64d1a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xd8]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55265a
mov ecx, dword [esp + 0x190]
mov dword [eax + 4], ecx
lea ecx, [0x6cad90]
mov edx, dword [esp + 0x24c]
mov dword [edx + 0xc8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x55264a
mov dword [edx + 0xcc], eax
jmp 0x5525b0
lea edi, [edx + 0xcc]
call fcn.0045c920
jmp 0x5525b0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x190]
call fcn.0045c920
mov eax, ecx
jmp 0x552622
sub esi, ecx
mov ecx, esi
jmp 0x54ff9d
mov dword [esp + 0x254], ecx
mov dword [esp + 0x258], edx
add esp, 0x248
ret
mov dword [esp], eax
lea eax, [0x64e080]
mov dword [esp + 4], eax
lea eax, [0x64a600]
mov dword [esp + 8], eax
call fcn.00409cd0
mov dword [esp], ebx
lea eax, [0x64e080]
mov dword [esp + 4], eax
lea eax, [0x64a600]
mov dword [esp + 8], eax
call fcn.00409cd0
call fcn.0045ca00
call fcn.0045c9e0
mov eax, ebp
call fcn.0045ca00
call fcn.0045ca00
mov eax, ebp
call fcn.0045ca00
mov eax, ebp
call fcn.0045ca00
mov eax, ecx
mov ecx, 5
mov edx, eax
call fcn.0045c9e0
call fcn.0045ca00
nop
call fcn.0045b380
jmp fcn.0054ff10