Function at 0x4ecb50
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x571514
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x74c
push ebx
mov dword [ebp - 0x214], 0
mov eax, dword [ebp + 8]
add eax, 0x1f0
push eax
call fcn.0054c3e0
add esp, 4
mov ecx, dword [ebp + 0x10]
add ecx, eax
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.0054bec0
add esp, 8
mov eax, 1
test eax, eax
je 0x4ecbf5
lea ecx, [ebp - 0x414]
push ecx
lea edx, [ebp - 0x210]
push edx
call fcn.0054bec0
add esp, 8
push 0x5b0bd0
lea eax, [ebp - 0x210]
push eax
call fcn.0054ccc0
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4ecbdd
jmp 0x4ecbf5
mov ecx, dword [ebp - 0x10]
add ecx, 1
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.0054bec0
add esp, 8
jmp 0x4ecb9f
lea eax, [ebp - 0x414]
push eax
call fcn.0054c3e0
add esp, 4
test eax, eax
je 0x4f0309
mov dword [ebp - 0x5ac], 0
mov dword [ebp - 0x5bc], 0
lea ecx, [ebp - 0x424]
call fcn.00516160
lea ecx, [ebp - 0x428]
call fcn.004013e0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.004013e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.004013e0
mov byte [ebp - 4], 2
mov dword [ebp - 0x5e4], 0
mov dword [ebp - 0x44c], 0
mov byte [ebp - 0x440], 0
mov dword [ebp - 0x450], 0
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
jne 0x4ecca0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x37374], 0x16
jne 0x4ecca0
mov dword [ebp - 0x43c], 0x4000
jmp 0x4eccd2
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x4eccc0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 2
jne 0x4eccc0
mov dword [ebp - 0x43c], 0x1c00
jmp 0x4eccd2
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x180]
shl eax, 9
mov dword [ebp - 0x43c], eax
push 0x64
push 1
mov ecx, dword [ebp - 0x43c]
push ecx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x5b8], eax
cmp dword [ebp - 0x5b8], 0
jne 0x4ecd50
push str.Alloc_DIR_Buffer_fail_r_n
mov edx, dword [ebp + 8]
add edx, 0x29fc
push edx
call fcn.0054bec0
add esp, 8
mov dword [ebp - 0x65c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.00560ea1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00560ea1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00560ea1
mov eax, dword [ebp - 0x65c]
jmp 0x4f030f
push 0x20
push 0
lea eax, [ebp - 0x5dc]
push eax
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 0x5a0], 0
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x5f4], eax
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x428]
call fcn.0056102a
push 0x2e
lea ecx, [ebp - 0x428]
call fcn.0055e6cf
mov dword [ebp - 0x59c], eax
cmp dword [ebp - 0x59c], 0xffffffff
jne 0x4ecdd2
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x420]
call fcn.00560fda
push 0x5db768
lea ecx, [ebp - 0x5a8]
call fcn.0056102a
jmp 0x4ece80
mov ecx, dword [ebp - 0x59c]
push ecx
lea edx, [ebp - 0x660]
push edx
lea ecx, [ebp - 0x428]
call fcn.0055e657
mov dword [ebp - 0x6bc], eax
mov eax, dword [ebp - 0x6bc]
mov dword [ebp - 0x6c0], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x6c0]
push ecx
lea ecx, [ebp - 0x420]
call fcn.00560fda
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x660]
call fcn.00560ea1
lea ecx, [ebp - 0x428]
call fcn.00401400
sub eax, dword [ebp - 0x59c]
sub eax, 1
push eax
lea edx, [ebp - 0x664]
push edx
lea ecx, [ebp - 0x428]
call fcn.0055e5db
mov dword [ebp - 0x6c4], eax
mov eax, dword [ebp - 0x6c4]
mov dword [ebp - 0x6c8], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x6c8]
push ecx
lea ecx, [ebp - 0x5a8]
call fcn.00560fda
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x664]
call fcn.00560ea1
lea ecx, [ebp - 0x420]
call fcn.005613a3
lea ecx, [ebp - 0x5a8]
call fcn.005613a3
lea ecx, [ebp - 0x420]
call fcn.00401400
cmp eax, 8
jg 0x4eceb6
lea ecx, [ebp - 0x5a8]
call fcn.00401400
cmp eax, 3
jle 0x4ecec0
mov dword [ebp - 0x44c], 1
lea ecx, [ebp - 0x5a8]
call fcn.00401400
cmp eax, 3
jge 0x4ecf0a
lea ecx, [ebp - 0x5a8]
call fcn.00401400
mov dword [ebp - 0x5f8], eax
jmp 0x4ecef2
mov edx, dword [ebp - 0x5f8]
add edx, 1
mov dword [ebp - 0x5f8], edx
cmp dword [ebp - 0x5f8], 3
jge 0x4ecf0a
push 0x20
lea ecx, [ebp - 0x5a8]
call fcn.005612a4
jmp 0x4ecee3
cmp dword [ebp - 0x44c], 0
jne 0x4ecfb0
lea ecx, [ebp - 0x420]
call fcn.00401400
mov dword [ebp - 0x600], eax
jmp 0x4ecf39
mov eax, dword [ebp - 0x600]
add eax, 1
mov dword [ebp - 0x600], eax
cmp dword [ebp - 0x600], 8
jge 0x4ecf54
push 0x5b0bec
lea ecx, [ebp - 0x420]
call fcn.0056127d
jmp 0x4ecf2a
lea ecx, [ebp - 0x5a8]
call fcn.00401400
mov dword [ebp - 0x5fc], eax
jmp 0x4ecf76
mov ecx, dword [ebp - 0x5fc]
add ecx, 1
mov dword [ebp - 0x5fc], ecx
cmp dword [ebp - 0x5fc], 3
jge 0x4ecf8e
push 0x20
lea ecx, [ebp - 0x5a8]
call fcn.005612a4
jmp 0x4ecf67
mov edx, dword [ebp - 0x5a8]
push edx
mov eax, dword [ebp - 0x420]
push eax
push 0x5b0bf0
lea ecx, [ebp - 0x5dc]
push ecx
call fcn.0054c45b
add esp, 0x10
mov dword [ebp - 0x44c], 1
cmp dword [ebp - 0x44c], 0
je 0x4ed8e5
push 0x20
lea ecx, [ebp - 0x420]
call fcn.0055e4d1
push 0x2e
lea ecx, [ebp - 0x420]
call fcn.0055e4d1
lea ecx, [ebp - 0x5a8]
call fcn.00401400
cmp eax, 3
jle 0x4ecffe
push 0x20
lea ecx, [ebp - 0x5a8]
call fcn.0055e4d1
push 0x2e
lea ecx, [ebp - 0x5a8]
call fcn.0055e4d1
mov dword [ebp - 0x604], 1
jmp 0x4ed026
mov edx, dword [ebp - 0x604]
add edx, 1
mov dword [ebp - 0x604], edx
cmp dword [ebp - 0x604], 0x98967f
jae 0x4ed3b5
mov dword [ebp - 0x60c], 0
cmp dword [ebp - 0x604], 0xa
jae 0x4ed0ab
mov eax, dword [ebp - 0x604]
push eax
push 6
lea ecx, [ebp - 0x668]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x6cc], eax
mov edx, dword [ebp - 0x6cc]
mov dword [ebp - 0x6d0], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x6d0]
mov ecx, dword [eax]
push ecx
push 0x5b0bf8
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x668]
call fcn.00560ea1
jmp 0x4ed2f2
cmp dword [ebp - 0x604], 0x64
jae 0x4ed116
mov eax, dword [ebp - 0x604]
push eax
push 5
lea ecx, [ebp - 0x66c]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x6d4], eax
mov edx, dword [ebp - 0x6d4]
mov dword [ebp - 0x6d8], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [eax]
push ecx
push 0x5b0c00
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x66c]
call fcn.00560ea1
jmp 0x4ed2f2
cmp dword [ebp - 0x604], 0x3e8
jae 0x4ed184
mov eax, dword [ebp - 0x604]
push eax
push 4
lea ecx, [ebp - 0x670]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x6dc], eax
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x6e0], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x6e0]
mov ecx, dword [eax]
push ecx
push 0x5b0c08
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x670]
call fcn.00560ea1
jmp 0x4ed2f2
cmp dword [ebp - 0x604], 0x2710
jae 0x4ed1f2
mov eax, dword [ebp - 0x604]
push eax
push 3
lea ecx, [ebp - 0x674]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x6e4], eax
mov edx, dword [ebp - 0x6e4]
mov dword [ebp - 0x6e8], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x6e8]
mov ecx, dword [eax]
push ecx
push 0x5b0c10
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x674]
call fcn.00560ea1
jmp 0x4ed2f2
cmp dword [ebp - 0x604], 0x186a0
jae 0x4ed260
mov eax, dword [ebp - 0x604]
push eax
push 2
lea ecx, [ebp - 0x678]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x6ec], eax
mov edx, dword [ebp - 0x6ec]
mov dword [ebp - 0x6f0], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [eax]
push ecx
push 0x5b0c18
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x678]
call fcn.00560ea1
jmp 0x4ed2f2
cmp dword [ebp - 0x604], 0xf4240
jae 0x4ed2cb
mov eax, dword [ebp - 0x604]
push eax
push 1
lea ecx, [ebp - 0x67c]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x6f4], eax
mov edx, dword [ebp - 0x6f4]
mov dword [ebp - 0x6f8], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [eax]
push ecx
push 0x5b0c20
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x67c]
call fcn.00560ea1
jmp 0x4ed2f2
cmp dword [ebp - 0x604], 0x989680
jae 0x4ed2f2
mov eax, dword [ebp - 0x604]
push eax
push 0x5b0c28
lea ecx, [ebp - 0x420]
push ecx
call fcn.0055ea77
add esp, 0xc
mov dword [ebp - 0x5a4], 0
jmp 0x4ed30d
mov edx, dword [ebp - 0x5a4]
add edx, 0x20
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp - 0x5a4]
cmp eax, dword [ebp - 0x43c]
jge 0x4ed35c
lea ecx, [ebp - 0x420]
call fcn.00401440
mov dword [ebp - 0x610], eax
push 8
mov ecx, dword [ebp - 0x610]
push ecx
mov edx, dword [ebp - 0x5b8]
add edx, dword [ebp - 0x5a4]
push edx
call fcn.0054c730
add esp, 0xc
test eax, eax
jne 0x4ed35a
mov dword [ebp - 0x60c], 1
jmp 0x4ed35c
jmp 0x4ed2fe
cmp dword [ebp - 0x60c], 0
jne 0x4ed3b0
lea eax, [ebp - 0x5a8]
push eax
lea ecx, [ebp - 0x420]
push ecx
lea edx, [ebp - 0x680]
push edx
call fcn.005610d0
mov dword [ebp - 0x6fc], eax
mov eax, dword [ebp - 0x6fc]
mov ecx, dword [eax]
push ecx
push 0x5b0c2c
lea edx, [ebp - 0x5dc]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x680]
call fcn.00560ea1
jmp 0x4ed3b5
jmp 0x4ed017
mov dword [ebp - 0x558], 0
mov dword [ebp - 0x608], 0
mov dword [ebp - 0x5a4], 0
jmp 0x4ed3e4
mov eax, dword [ebp - 0x5a4]
add eax, 1
mov dword [ebp - 0x5a4], eax
lea ecx, [ebp - 0x428]
call fcn.00401400
cmp dword [ebp - 0x5a4], eax
jge 0x4ed4f2
mov ecx, dword [ebp - 0x5a4]
push ecx
lea ecx, [ebp - 0x428]
call fcn.005161a0
and eax, 0xff
cmp eax, 0x80
jle 0x4ed4a2
push 0
lea ecx, [ebp - 0x428]
call fcn.005612d1
mov dword [ebp - 0x618], eax
push 2
lea edx, [ebp - 0x614]
push edx
push 2
mov eax, dword [ebp - 0x618]
add eax, dword [ebp - 0x5a4]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [ebp - 0x614]
and ecx, 0xffff
and ecx, 0xff
mov edx, dword [ebp - 0x608]
mov byte [ebp + edx - 0x550], cl
mov eax, dword [ebp - 0x614]
and eax, 0xffff
sar eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x608]
mov byte [ebp + ecx - 0x54f], al
mov edx, dword [ebp - 0x5a4]
add edx, 1
mov dword [ebp - 0x5a4], edx
jmp 0x4ed4cf
mov eax, dword [ebp - 0x5a4]
push eax
lea ecx, [ebp - 0x428]
call fcn.005161a0
mov ecx, dword [ebp - 0x608]
mov byte [ebp + ecx - 0x550], al
mov edx, dword [ebp - 0x608]
mov byte [ebp + edx - 0x54f], 0
mov eax, dword [ebp - 0x558]
add eax, 1
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x608]
add ecx, 2
mov dword [ebp - 0x608], ecx
jmp 0x4ed3d5
mov eax, dword [ebp - 0x558]
cdq
mov ecx, 0xd
idiv ecx
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x558]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
je 0x4ed527
mov edx, dword [ebp - 0x41c]
add edx, 1
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x41c]
add eax, 1
shl eax, 5
mov dword [ebp - 0x5ac], eax
push 0x64
push 1
mov ecx, dword [ebp - 0x5ac]
push ecx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x5bc], eax
cmp dword [ebp - 0x5bc], 0
jne 0x4ed5ce
cmp dword [ebp - 0x5b8], 0
je 0x4ed573
mov edx, dword [ebp - 0x5b8]
push edx
call fcn.0054c543
add esp, 4
push 0x5b0c30
mov eax, dword [ebp + 8]
add eax, 0x29fc
push eax
call fcn.0054bec0
add esp, 8
mov dword [ebp - 0x684], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.00560ea1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00560ea1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00560ea1
mov eax, dword [ebp - 0x684]
jmp 0x4f030f
mov ecx, dword [ebp - 0x5ac]
push ecx
push 0
mov edx, dword [ebp - 0x5bc]
push edx
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 0x5a4], 0
jmp 0x4ed601
mov eax, dword [ebp - 0x5a4]
add eax, 1
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5a4]
cmp ecx, dword [ebp - 0x41c]
jge 0x4ed8d6
push 0x40
push 0
lea edx, [ebp - 0x598]
push edx
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 0x5e0], 0
mov eax, dword [ebp - 0x41c]
sub eax, 1
sub eax, dword [ebp - 0x5a4]
imul eax, eax, 0xd
mov dword [ebp - 0x5b4], eax
jmp 0x4ed659
mov ecx, dword [ebp - 0x5b4]
add ecx, 1
mov dword [ebp - 0x5b4], ecx
mov edx, dword [ebp - 0x41c]
sub edx, dword [ebp - 0x5a4]
imul edx, edx, 0xd
cmp dword [ebp - 0x5b4], edx
jge 0x4ed89f
cmp dword [ebp - 0x5a4], 0
jne 0x4ed6b6
mov eax, dword [ebp - 0x5b4]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
jne 0x4ed6b6
mov edx, dword [ebp - 0x41c]
add edx, 0x40
mov eax, dword [ebp - 0x5e0]
mov byte [ebp + eax - 0x598], dl
mov ecx, dword [ebp - 0x5e0]
add ecx, 1
mov dword [ebp - 0x5e0], ecx
jmp 0x4ed6f0
mov eax, dword [ebp - 0x5b4]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
jne 0x4ed6f0
mov edx, dword [ebp - 0x41c]
sub edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5e0]
mov byte [ebp + eax - 0x598], dl
mov ecx, dword [ebp - 0x5e0]
add ecx, 1
mov dword [ebp - 0x5e0], ecx
cmp dword [ebp - 0x5e0], 0xb
jne 0x4ed760
mov edx, dword [ebp - 0x5e0]
mov byte [ebp + edx - 0x598], 0xf
mov eax, dword [ebp - 0x5e0]
add eax, 1
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x5e0]
mov byte [ebp + ecx - 0x598], 0
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
lea eax, [ebp - 0x5dc]
push eax
call fcn.004f88ae
add esp, 4
mov ecx, dword [ebp - 0x5e0]
mov byte [ebp + ecx - 0x598], al
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
jmp 0x4ed7a3
cmp dword [ebp - 0x5e0], 0x1a
jne 0x4ed7a3
mov eax, dword [ebp - 0x5e0]
mov byte [ebp + eax - 0x598], 0
mov ecx, dword [ebp - 0x5e0]
add ecx, 1
mov dword [ebp - 0x5e0], ecx
mov edx, dword [ebp - 0x5e0]
mov byte [ebp + edx - 0x598], 0
mov eax, dword [ebp - 0x5e0]
add eax, 1
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x5b4]
cmp ecx, dword [ebp - 0x558]
jge 0x4ed808
mov edx, dword [ebp - 0x5e0]
mov eax, dword [ebp - 0x5b4]
mov cl, byte [ebp + eax*2 - 0x550]
mov byte [ebp + edx - 0x598], cl
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
mov eax, dword [ebp - 0x5e0]
mov ecx, dword [ebp - 0x5b4]
mov dl, byte [ebp + ecx*2 - 0x54f]
mov byte [ebp + eax - 0x598], dl
mov eax, dword [ebp - 0x5e0]
add eax, 1
mov dword [ebp - 0x5e0], eax
jmp 0x4ed89a
mov ecx, dword [ebp - 0x5b4]
cmp ecx, dword [ebp - 0x558]
jne 0x4ed852
mov edx, dword [ebp - 0x5e0]
mov byte [ebp + edx - 0x598], 0
mov eax, dword [ebp - 0x5e0]
add eax, 1
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x5e0]
mov byte [ebp + ecx - 0x598], 0
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
jmp 0x4ed89a
mov eax, dword [ebp - 0x5b4]
cmp eax, dword [ebp - 0x558]
jle 0x4ed89a
mov ecx, dword [ebp - 0x5e0]
mov byte [ebp + ecx - 0x598], 0xff
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
mov eax, dword [ebp - 0x5e0]
mov byte [ebp + eax - 0x598], 0xff
mov ecx, dword [ebp - 0x5e0]
add ecx, 1
mov dword [ebp - 0x5e0], ecx
jmp 0x4ed64a
push 0x20
lea edx, [ebp - 0x598]
push edx
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5bc]
add ecx, eax
push ecx
call fcn.0054c980
add esp, 0xc
mov edx, dword [ebp - 0x5e4]
add edx, 0x20
mov dword [ebp - 0x5e4], edx
jmp 0x4ed5f2
mov eax, dword [ebp - 0x5bc]
push eax
call fcn.0054c543
add esp, 4
mov ecx, dword [ebp - 0x440]
and ecx, 0xff
test ecx, ecx
jne 0x4ef20c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x37374], 2
jne 0x4ed979
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x4ed932
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sub edx, 2
mov eax, dword [ebp + 8]
imul edx, dword [eax + 0x180]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x17c]
add eax, edx
mov dword [ebp - 0x700], eax
jmp 0x4ed941
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x178]
mov dword [ebp - 0x700], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x158]
push ecx
push 0x28
mov edx, dword [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x5b8]
push eax
mov ecx, dword [ebp - 0x700]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004ec9cf
add esp, 0x18
mov dword [ebp - 0x418], eax
jmp 0x4eda71
mov eax, dword [ebp + 8]
cmp dword [eax + 0x37374], 0x32
jne 0x4ed9f6
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
je 0x4ed9b2
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
sub eax, 3
mov ecx, dword [ebp + 8]
imul eax, dword [ecx + 0x180]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x17c]
add ecx, eax
mov dword [ebp - 0x704], ecx
jmp 0x4ed9c1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x178]
mov dword [ebp - 0x704], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x158]
push edx
push 0x28
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x5b8]
push ecx
mov edx, dword [ebp - 0x704]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004ec9cf
add esp, 0x18
mov dword [ebp - 0x418], eax
jmp 0x4eda71
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x16
jne 0x4eda71
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
je 0x4eda2f
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub ecx, 2
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x180]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x17c]
add edx, ecx
mov dword [ebp - 0x708], edx
jmp 0x4eda3e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x178]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x28
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x5b8]
push edx
mov eax, dword [ebp - 0x708]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ec9cf
add esp, 0x18
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x61c], 1
jmp 0x4eda8c
mov edx, dword [ebp - 0x61c]
add edx, 1
mov dword [ebp - 0x61c], edx
cmp dword [ebp - 0x61c], 0x98967f
jae 0x4ede1b
mov dword [ebp - 0x624], 0
cmp dword [ebp - 0x61c], 0xa
jae 0x4edb11
mov eax, dword [ebp - 0x61c]
push eax
push 6
lea ecx, [ebp - 0x688]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x70c], eax
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x710], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x710]
mov ecx, dword [eax]
push ecx
push 0x5b0c44
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x688]
call fcn.00560ea1
jmp 0x4edd58
cmp dword [ebp - 0x61c], 0x64
jae 0x4edb7c
mov eax, dword [ebp - 0x61c]
push eax
push 5
lea ecx, [ebp - 0x68c]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x714], eax
mov edx, dword [ebp - 0x714]
mov dword [ebp - 0x718], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x718]
mov ecx, dword [eax]
push ecx
push 0x5b0c4c
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x68c]
call fcn.00560ea1
jmp 0x4edd58
cmp dword [ebp - 0x61c], 0x3e8
jae 0x4edbea
mov eax, dword [ebp - 0x61c]
push eax
push 4
lea ecx, [ebp - 0x690]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x71c], eax
mov edx, dword [ebp - 0x71c]
mov dword [ebp - 0x720], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x720]
mov ecx, dword [eax]
push ecx
push 0x5b0c54
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x690]
call fcn.00560ea1
jmp 0x4edd58
cmp dword [ebp - 0x61c], 0x2710
jae 0x4edc58
mov eax, dword [ebp - 0x61c]
push eax
push 3
lea ecx, [ebp - 0x694]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x724], eax
mov edx, dword [ebp - 0x724]
mov dword [ebp - 0x728], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x728]
mov ecx, dword [eax]
push ecx
push 0x5b0c5c
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x694]
call fcn.00560ea1
jmp 0x4edd58
cmp dword [ebp - 0x61c], 0x186a0
jae 0x4edcc6
mov eax, dword [ebp - 0x61c]
push eax
push 2
lea ecx, [ebp - 0x698]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x72c], eax
mov edx, dword [ebp - 0x72c]
mov dword [ebp - 0x730], edx
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x730]
mov ecx, dword [eax]
push ecx
push 0x5b0c64
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x698]
call fcn.00560ea1
jmp 0x4edd58
cmp dword [ebp - 0x61c], 0xf4240
jae 0x4edd31
mov eax, dword [ebp - 0x61c]
push eax
push 1
lea ecx, [ebp - 0x69c]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055e657
mov dword [ebp - 0x734], eax
mov edx, dword [ebp - 0x734]
mov dword [ebp - 0x738], edx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x738]
mov ecx, dword [eax]
push ecx
push 0x5b0c6c
lea edx, [ebp - 0x420]
push edx
call fcn.0055ea77
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x69c]
call fcn.00560ea1
jmp 0x4edd58
cmp dword [ebp - 0x61c], 0x989680
jae 0x4edd58
mov eax, dword [ebp - 0x61c]
push eax
push 0x5b0c74
lea ecx, [ebp - 0x420]
push ecx
call fcn.0055ea77
add esp, 0xc
mov dword [ebp - 0x5a4], 0
jmp 0x4edd73
mov edx, dword [ebp - 0x5a4]
add edx, 0x20
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp - 0x5a4]
cmp eax, dword [ebp - 0x43c]
jge 0x4eddc2
lea ecx, [ebp - 0x420]
call fcn.00401440
mov dword [ebp - 0x628], eax
push 8
mov ecx, dword [ebp - 0x628]
push ecx
mov edx, dword [ebp - 0x5b8]
add edx, dword [ebp - 0x5a4]
push edx
call fcn.0054c730
add esp, 0xc
test eax, eax
jne 0x4eddc0
mov dword [ebp - 0x624], 1
jmp 0x4eddc2
jmp 0x4edd64
cmp dword [ebp - 0x624], 0
jne 0x4ede16
lea eax, [ebp - 0x5a8]
push eax
lea ecx, [ebp - 0x420]
push ecx
lea edx, [ebp - 0x6a0]
push edx
call fcn.005610d0
mov dword [ebp - 0x73c], eax
mov eax, dword [ebp - 0x73c]
mov ecx, dword [eax]
push ecx
push 0x5b0c78
lea edx, [ebp - 0x5dc]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x6a0]
call fcn.00560ea1
jmp 0x4ede1b
jmp 0x4eda7d
mov dword [ebp - 0x558], 0
mov dword [ebp - 0x620], 0
mov dword [ebp - 0x5a4], 0
jmp 0x4ede4a
mov eax, dword [ebp - 0x5a4]
add eax, 1
mov dword [ebp - 0x5a4], eax
lea ecx, [ebp - 0x428]
call fcn.00401400
cmp dword [ebp - 0x5a4], eax
jge 0x4edf58
mov ecx, dword [ebp - 0x5a4]
push ecx
lea ecx, [ebp - 0x428]
call fcn.005161a0
and eax, 0xff
cmp eax, 0x80
jle 0x4edf08
push 0
lea ecx, [ebp - 0x428]
call fcn.005612d1
mov dword [ebp - 0x630], eax
push 2
lea edx, [ebp - 0x62c]
push edx
push 2
mov eax, dword [ebp - 0x630]
add eax, dword [ebp - 0x5a4]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [ebp - 0x62c]
and ecx, 0xffff
and ecx, 0xff
mov edx, dword [ebp - 0x620]
mov byte [ebp + edx - 0x550], cl
mov eax, dword [ebp - 0x62c]
and eax, 0xffff
sar eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x620]
mov byte [ebp + ecx - 0x54f], al
mov edx, dword [ebp - 0x5a4]
add edx, 1
mov dword [ebp - 0x5a4], edx
jmp 0x4edf35
mov eax, dword [ebp - 0x5a4]
push eax
lea ecx, [ebp - 0x428]
call fcn.005161a0
mov ecx, dword [ebp - 0x620]
mov byte [ebp + ecx - 0x550], al
mov edx, dword [ebp - 0x620]
mov byte [ebp + edx - 0x54f], 0
mov eax, dword [ebp - 0x558]
add eax, 1
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x620]
add ecx, 2
mov dword [ebp - 0x620], ecx
jmp 0x4ede3b
mov eax, dword [ebp - 0x558]
cdq
mov ecx, 0xd
idiv ecx
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x558]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
je 0x4edf8d
mov edx, dword [ebp - 0x41c]
add edx, 1
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x41c]
add eax, 1
shl eax, 5
mov dword [ebp - 0x5ac], eax
push 0x64
push 1
mov ecx, dword [ebp - 0x5ac]
push ecx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x5bc], eax
cmp dword [ebp - 0x5bc], 0
jne 0x4ee034
cmp dword [ebp - 0x5b8], 0
je 0x4edfd9
mov edx, dword [ebp - 0x5b8]
push edx
call fcn.0054c543
add esp, 4
push 0x5b0c7c
mov eax, dword [ebp + 8]
add eax, 0x29fc
push eax
call fcn.0054bec0
add esp, 8
mov dword [ebp - 0x6a4], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.00560ea1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00560ea1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00560ea1
mov eax, dword [ebp - 0x6a4]
jmp 0x4f030f
mov ecx, dword [ebp - 0x5ac]
push ecx
push 0
mov edx, dword [ebp - 0x5bc]
push edx
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 0x5a4], 0
jmp 0x4ee067
mov eax, dword [ebp - 0x5a4]
add eax, 1
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5a4]
cmp ecx, dword [ebp - 0x41c]
jge 0x4ee33c
push 0x40
push 0
lea edx, [ebp - 0x598]
push edx
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 0x5e0], 0
mov eax, dword [ebp - 0x41c]
sub eax, 1
sub eax, dword [ebp - 0x5a4]
imul eax, eax, 0xd
mov dword [ebp - 0x5b4], eax
jmp 0x4ee0bf
mov ecx, dword [ebp - 0x5b4]
add ecx, 1
mov dword [ebp - 0x5b4], ecx
mov edx, dword [ebp - 0x41c]
sub edx, dword [ebp - 0x5a4]
imul edx, edx, 0xd
cmp dword [ebp - 0x5b4], edx
jge 0x4ee305
cmp dword [ebp - 0x5a4], 0
jne 0x4ee11c
mov eax, dword [ebp - 0x5b4]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
jne 0x4ee11c
mov edx, dword [ebp - 0x41c]
add edx, 0x40
mov eax, dword [ebp - 0x5e0]
mov byte [ebp + eax - 0x598], dl
mov ecx, dword [ebp - 0x5e0]
add ecx, 1
mov dword [ebp - 0x5e0], ecx
jmp 0x4ee156
mov eax, dword [ebp - 0x5b4]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
jne 0x4ee156
mov edx, dword [ebp - 0x41c]
sub edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x5e0]
mov byte [ebp + eax - 0x598], dl
mov ecx, dword [ebp - 0x5e0]
add ecx, 1
mov dword [ebp - 0x5e0], ecx
cmp dword [ebp - 0x5e0], 0xb
jne 0x4ee1c6
mov edx, dword [ebp - 0x5e0]
mov byte [ebp + edx - 0x598], 0xf
mov eax, dword [ebp - 0x5e0]
add eax, 1
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x5e0]
mov byte [ebp + ecx - 0x598], 0
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
lea eax, [ebp - 0x5dc]
push eax
call fcn.004f88ae
add esp, 4
mov ecx, dword [ebp - 0x5e0]
mov byte [ebp + ecx - 0x598], al
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
jmp 0x4ee209
cmp dword [ebp - 0x5e0], 0x1a
jne 0x4ee209
mov eax, dword [ebp - 0x5e0]
mov byte [ebp + eax - 0x598], 0
mov ecx, dword [ebp - 0x5e0]
add ecx, 1
mov dword [ebp - 0x5e0], ecx
mov edx, dword [ebp - 0x5e0]
mov byte [ebp + edx - 0x598], 0
mov eax, dword [ebp - 0x5e0]
add eax, 1
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x5b4]
cmp ecx, dword [ebp - 0x558]
jge 0x4ee26e
mov edx, dword [ebp - 0x5e0]
mov eax, dword [ebp - 0x5b4]
mov cl, byte [ebp + eax*2 - 0x550]
mov byte [ebp + edx - 0x598], cl
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
mov eax, dword [ebp - 0x5e0]
mov ecx, dword [ebp - 0x5b4]
mov dl, byte [ebp + ecx*2 - 0x54f]
mov byte [ebp + eax - 0x598], dl
mov eax, dword [ebp - 0x5e0]
add eax, 1
mov dword [ebp - 0x5e0], eax
jmp 0x4ee300
mov ecx, dword [ebp - 0x5b4]
cmp ecx, dword [ebp - 0x558]
jne 0x4ee2b8
mov edx, dword [ebp - 0x5e0]
mov byte [ebp + edx - 0x598], 0
mov eax, dword [ebp - 0x5e0]
add eax, 1
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x5e0]
mov byte [ebp + ecx - 0x598], 0
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
jmp 0x4ee300
mov eax, dword [ebp - 0x5b4]
cmp eax, dword [ebp - 0x558]
jle 0x4ee300
mov ecx, dword [ebp - 0x5e0]
mov byte [ebp + ecx - 0x598], 0xff
mov edx, dword [ebp - 0x5e0]
add edx, 1
mov dword [ebp - 0x5e0], edx
mov eax, dword [ebp - 0x5e0]
mov byte [ebp + eax - 0x598], 0xff
mov ecx, dword [ebp - 0x5e0]
add ecx, 1
mov dword [ebp - 0x5e0], ecx
jmp 0x4ee0b0
push 0x20
lea edx, [ebp - 0x598]
push edx
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5bc]
add ecx, eax
push ecx
call fcn.0054c980
add esp, 0xc
mov edx, dword [ebp - 0x5e4]
add edx, 0x20
mov dword [ebp - 0x5e4], edx
jmp 0x4ee058
cmp dword [ebp - 0x450], 0
je 0x4ee367
mov eax, dword [ebp - 0x43c]
push eax
push 0
mov ecx, dword [ebp - 0x5b8]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x5a4], 0
jmp 0x4ee382
mov edx, dword [ebp - 0x5a4]
add edx, 0x20
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp - 0x5a4]
cmp eax, dword [ebp - 0x43c]
jge 0x4ee645
mov dword [ebp - 0x634], 0
mov ecx, dword [ebp - 0x5b8]
add ecx, dword [ebp - 0x5a4]
xor edx, edx
mov dl, byte [ecx]
test edx, edx
je 0x4ee3ce
mov eax, dword [ebp - 0x5b8]
add eax, dword [ebp - 0x5a4]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0xe5
jne 0x4ee640
mov dword [ebp - 0x634], 0
mov edx, dword [ebp - 0x5a4]
add edx, 0x20
mov dword [ebp - 0x638], edx
jmp 0x4ee3f8
mov eax, dword [ebp - 0x638]
add eax, 0x20
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x638]
cmp ecx, dword [ebp - 0x43c]
jge 0x4ee478
mov edx, dword [ebp - 0x5b8]
add edx, dword [ebp - 0x638]
xor eax, eax
mov al, byte [edx]
test eax, eax
je 0x4ee432
mov ecx, dword [ebp - 0x5b8]
add ecx, dword [ebp - 0x638]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 0xe5
jne 0x4ee469
mov eax, dword [ebp - 0x634]
add eax, 1
mov dword [ebp - 0x634], eax
mov ecx, dword [ebp - 0x634]
shl ecx, 5
cmp ecx, dword [ebp - 0x5ac]
jl 0x4ee467
mov byte [ebp - 0x440], 1
mov edx, dword [ebp - 0x5a4]
mov dword [ebp - 0x5e4], edx
jmp 0x4ee478
jmp 0x4ee473
mov dword [ebp - 0x634], 0
jmp 0x4ee3e9
mov eax, dword [ebp - 0x440]
and eax, 0xff
test eax, eax
je 0x4ee48c
jmp 0x4ee645
mov ecx, dword [ebp - 0x634]
shl ecx, 5
push ecx
push 0xe5
mov edx, dword [ebp - 0x5b8]
add edx, dword [ebp - 0x5a4]
push edx
call fcn.0054bfb0
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x37374], 2
jne 0x4ee537
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
je 0x4ee4e9
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
sub eax, 2
mov ecx, dword [ebp + 8]
imul eax, dword [ecx + 0x180]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x17c]
add ecx, eax
mov dword [ebp - 0x740], ecx
jmp 0x4ee4f8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x178]
mov dword [ebp - 0x740], eax
push 0
push 0x80
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x158]
push edx
push 0x2a
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x5b8]
push ecx
mov edx, dword [ebp - 0x740]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
jmp 0x4ee640
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x32
jne 0x4ee5be
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
je 0x4ee570
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub ecx, 3
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x180]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x17c]
add edx, ecx
mov dword [ebp - 0x744], edx
jmp 0x4ee57f
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x178]
mov dword [ebp - 0x744], ecx
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x5b8]
push edx
mov eax, dword [ebp - 0x744]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
jmp 0x4ee640
mov edx, dword [ebp + 8]
cmp dword [edx + 0x37374], 0x16
jne 0x4ee640
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x4ee5f7
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sub edx, 2
mov eax, dword [ebp + 8]
imul edx, dword [eax + 0x180]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x17c]
add eax, edx
mov dword [ebp - 0x748], eax
jmp 0x4ee606
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x178]
mov dword [ebp - 0x748], edx
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x158]
push ecx
push 0x2a
mov edx, dword [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x5b8]
push eax
mov ecx, dword [ebp - 0x748]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
jmp 0x4ee373
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x4ee6e7
mov ecx, dword [ebp - 0x440]
and ecx, 0xff
test ecx, ecx
jne 0x4ee6e7
mov edx, dword [ebp + 8]
cmp dword [edx + 0x37374], 0x16
jne 0x4ee6e7
mov eax, dword [ebp - 0x5b8]
push eax
call fcn.0054c543
add esp, 4
cmp dword [ebp - 0x5bc], 0
je 0x4ee6a2
mov ecx, dword [ebp - 0x5bc]
push ecx
call fcn.0054c543
add esp, 4
mov dword [ebp - 0x5bc], 0
mov dword [ebp - 0x6a8], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.00560ea1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00560ea1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00560ea1
mov eax, dword [ebp - 0x6a8]
jmp 0x4f030f
mov edx, dword [ebp - 0x440]
and edx, 0xff
test edx, edx
jne 0x4ef207
mov eax, dword [ebp + 8]
cmp dword [eax + 0x37374], 2
jne 0x4eebe9
mov word [ebp - 0x63c], 2
mov dword [ebp - 0x5a4], 3
jmp 0x4ee72f
mov ecx, dword [ebp - 0x5a4]
add ecx, 1
mov dword [ebp - 0x5a4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x184]
shl eax, 9
cmp dword [ebp - 0x5a4], eax
jge 0x4eebe4
mov ecx, dword [ebp - 0x63c]
and ecx, 0xffff
and ecx, 0x80000001
jns 0x4ee760
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x4ee7cd
mov eax, dword [ebp - 0x63c]
and eax, 0xffff
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x5a4]
xor edx, edx
mov dl, byte [ecx + eax + 1]
shl edx, 8
mov word [ebp - 0x640], dx
mov eax, dword [ebp - 0x63c]
and eax, 0xffff
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0xf0
sar ecx, 4
mov dx, word [ebp - 0x640]
add dx, cx
mov word [ebp - 0x640], dx
jmp 0x4ee834
mov eax, dword [ebp - 0x63c]
and eax, 0xffff
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
and ecx, 0xf
shl ecx, 8
mov word [ebp - 0x640], cx
mov eax, dword [ebp - 0x63c]
and eax, 0xffff
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x5a4]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0xff
mov ax, word [ebp - 0x640]
add ax, dx
mov word [ebp - 0x640], ax
mov ecx, dword [ebp - 0x640]
and ecx, 0xffff
test ecx, ecx
jne 0x4eeb1b
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
and eax, 0x80000001
jns 0x4ee859
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x4ee8db
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x5a4]
xor edx, edx
mov dl, byte [ecx + eax]
mov ecx, edx
and ecx, 0xf
mov edx, dword [ebp - 0x63c]
and edx, 0xffff
and edx, 0xf
shl edx, 4
add ecx, edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + eax], cl
mov ecx, dword [ebp - 0x63c]
and ecx, 0xffff
sar ecx, 4
and ecx, 0xff
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + eax + 1], cl
jmp 0x4ee95a
mov ecx, dword [ebp - 0x63c]
and ecx, 0xffff
and ecx, 0xff
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + eax], cl
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
imul eax, eax, 0xc
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
and ecx, 0xf0
mov edx, dword [ebp - 0x63c]
and edx, 0xffff
sar edx, 8
and edx, 0xf
add ecx, edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + eax + 1], cl
mov eax, dword [ebp - 0x63c]
and eax, 0xffff
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov word [ebp - 0x63c], 0xfff
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
and eax, 0x80000001
jns 0x4ee984
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x4eea06
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x5a4]
xor edx, edx
mov dl, byte [ecx + eax]
mov ecx, edx
and ecx, 0xf
mov edx, dword [ebp - 0x63c]
and edx, 0xffff
and edx, 0xf
shl edx, 4
add ecx, edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + eax], cl
mov ecx, dword [ebp - 0x63c]
and ecx, 0xffff
sar ecx, 4
and ecx, 0xff
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + eax + 1], cl
jmp 0x4eea74
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov byte [edx + eax], 0xff
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
imul eax, eax, 0xc
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
and ecx, 0xf0
mov edx, dword [ebp - 0x63c]
and edx, 0xffff
sar edx, 8
and edx, 0xf
add ecx, edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + eax + 1], cl
mov eax, dword [ebp - 0x43c]
push eax
push 0
mov ecx, dword [ebp - 0x5b8]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
je 0x4eeab9
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub ecx, 2
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x180]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x17c]
add edx, ecx
mov dword [ebp - 0x74c], edx
jmp 0x4eeac8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x178]
mov dword [ebp - 0x74c], ecx
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x5b8]
push edx
mov eax, dword [ebp - 0x74c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x5e4], 0
mov dword [ebp - 0x450], 1
jmp 0x4eebe4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x184]
shl eax, 9
sub eax, 2
cmp dword [ebp - 0x5a4], eax
jne 0x4eeba8
mov ecx, dword [ebp - 0x5b8]
push ecx
call fcn.0054c543
add esp, 4
cmp dword [ebp - 0x5bc], 0
je 0x4eeb63
mov edx, dword [ebp - 0x5bc]
push edx
call fcn.0054c543
add esp, 4
mov dword [ebp - 0x5bc], 0
mov dword [ebp - 0x6ac], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.00560ea1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00560ea1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00560ea1
mov eax, dword [ebp - 0x6ac]
jmp 0x4f030f
mov eax, dword [ebp - 0x5a4]
and eax, 0x80000003
jns 0x4eebba
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x4eebcd
mov ecx, dword [ebp - 0x5a4]
add ecx, 1
mov dword [ebp - 0x5a4], ecx
mov dx, word [ebp - 0x63c]
add dx, 1
mov word [ebp - 0x63c], dx
jmp 0x4ee720
jmp 0x4ef17a
mov eax, dword [ebp + 8]
cmp dword [eax + 0x37374], 0x32
jne 0x4eefdb
mov dword [ebp - 0x5a4], 0xc
jmp 0x4eec14
mov ecx, dword [ebp - 0x5a4]
add ecx, 4
mov dword [ebp - 0x5a4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x184]
shl eax, 9
cmp dword [ebp - 0x5a4], eax
jge 0x4eefd6
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov eax, dword [ebp - 0x5a4]
xor ecx, ecx
mov cl, byte [edx + eax]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
mov edx, dword [ebp - 0x5a4]
xor ebx, ebx
mov bl, byte [eax + edx + 1]
shl ebx, 8
or ecx, ebx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x5a4]
mov eax, dword [ebp - 0x5a4]
xor ebx, ebx
mov bl, byte [edx + eax + 2]
shl ebx, 0x10
or ecx, ebx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
mov edx, dword [ebp - 0x5a4]
xor ebx, ebx
mov bl, byte [eax + edx + 3]
shl ebx, 0x18
or ecx, ebx
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 0
jne 0x4eef44
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x4eed28
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
and eax, 0xff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov byte [edx + 8], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov byte [edx + 9], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 0x10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov byte [edx + 0xa], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 0x18
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov byte [edx + 0xb], al
jmp 0x4eedb9
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
and eax, 0xff
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x5a4]
mov byte [ecx + edx*4], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 8
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + ecx*4 + 1], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 0x10
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x5a4]
mov byte [ecx + edx*4 + 2], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 0x18
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + ecx*4 + 3], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
and eax, 0xff
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x5a4]
mov byte [ecx + edx*4], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 8
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + ecx*4 + 1], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 0x10
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x5a4]
mov byte [ecx + edx*4 + 2], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 0x18
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + ecx*4 + 3], al
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov byte [edx + eax*4], 0xff
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
mov byte [eax + ecx*4 + 1], 0xff
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
mov byte [ecx + edx*4 + 2], 0xff
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov byte [edx + eax*4 + 3], 0xf
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x158]
push ecx
push 0x2a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x184]
shl eax, 9
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x170]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x158]
push ecx
push 0x2a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x184]
shl eax, 9
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x174]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x450], 1
jmp 0x4eefd6
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x184]
shl ecx, 9
sub ecx, 3
cmp dword [ebp - 0x5a4], ecx
jne 0x4eefd1
mov edx, dword [ebp - 0x5b8]
push edx
call fcn.0054c543
add esp, 4
cmp dword [ebp - 0x5bc], 0
je 0x4eef8c
mov eax, dword [ebp - 0x5bc]
push eax
call fcn.0054c543
add esp, 4
mov dword [ebp - 0x5bc], 0
mov dword [ebp - 0x6b0], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.00560ea1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00560ea1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00560ea1
mov eax, dword [ebp - 0x6b0]
jmp 0x4f030f
jmp 0x4eec05
jmp 0x4ef17a
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x16
jne 0x4ef17a
mov dword [ebp - 0x5a4], 4
jmp 0x4ef006
mov edx, dword [ebp - 0x5a4]
add edx, 2
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x184]
shl ecx, 9
cmp dword [ebp - 0x5a4], ecx
jge 0x4ef17a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
mov ecx, dword [ebp - 0x5a4]
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
mov eax, dword [ebp - 0x5a4]
xor ebx, ebx
mov bl, byte [ecx + eax + 1]
shl ebx, 8
or edx, ebx
mov word [ebp - 0x648], dx
mov ecx, dword [ebp - 0x648]
and ecx, 0xffff
test ecx, ecx
jne 0x4ef175
mov eax, dword [ebp - 0x5a4]
cdq
sub eax, edx
sar eax, 1
and eax, 0xff
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + ecx*2], al
mov eax, dword [ebp - 0x5a4]
cdq
sub eax, edx
sar eax, 1
shr eax, 8
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x5a4]
mov byte [ecx + edx*2 + 1], al
mov eax, dword [ebp - 0x5a4]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
mov byte [eax + ecx*2], 0xff
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
mov byte [ecx + edx*2 + 1], 0xff
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x184]
shl edx, 9
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x170]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x184]
shl edx, 9
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x174]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x450], 1
jmp 0x4ef17a
jmp 0x4eeff7
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x184]
shl eax, 9
sub eax, 2
cmp dword [ebp - 0x5a4], eax
jne 0x4ef207
mov ecx, dword [ebp - 0x5b8]
push ecx
call fcn.0054c543
add esp, 4
cmp dword [ebp - 0x5bc], 0
je 0x4ef1c2
mov edx, dword [ebp - 0x5bc]
push edx
call fcn.0054c543
add esp, 4
mov dword [ebp - 0x5bc], 0
mov dword [ebp - 0x6b4], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.00560ea1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00560ea1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00560ea1
mov eax, dword [ebp - 0x6b4]
jmp 0x4f030f
jmp 0x4ed8e5
mov eax, dword [ebp - 0x5ac]
sub eax, 0x20
push eax
mov ecx, dword [ebp - 0x5bc]
push ecx
mov edx, dword [ebp - 0x5b8]
add edx, dword [ebp - 0x5e4]
push edx
call fcn.0054c980
add esp, 0xc
mov eax, dword [ebp - 0x5ac]
mov ecx, dword [ebp - 0x5e4]
lea edx, [ecx + eax - 0x20]
mov dword [ebp - 0x5e4], edx
cmp dword [ebp - 0x5bc], 0
je 0x4ef26a
mov eax, dword [ebp - 0x5bc]
push eax
call fcn.0054c543
add esp, 4
mov dword [ebp - 0x5bc], 0
push 0x40
push 0
lea ecx, [ebp - 0x598]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 0x5a4], 0
jmp 0x4ef298
mov edx, dword [ebp - 0x5a4]
add edx, 1
mov dword [ebp - 0x5a4], edx
cmp dword [ebp - 0x5a4], 0xb
jge 0x4ef2bd
mov eax, dword [ebp - 0x5a4]
mov ecx, dword [ebp - 0x5a4]
mov dl, byte [ebp + ecx - 0x5dc]
mov byte [ebp + eax - 0x598], dl
jmp 0x4ef289
mov byte [ebp - 0x58d], 0x10
mov eax, dword [ebp - 0x5f4]
and eax, 1
test eax, eax
je 0x4ef2e6
mov ecx, dword [ebp - 0x58d]
and ecx, 0xff
or ecx, 1
mov byte [ebp - 0x58d], cl
mov edx, dword [ebp - 0x5f4]
and edx, 2
test edx, edx
je 0x4ef306
mov eax, dword [ebp - 0x58d]
and eax, 0xff
or al, 2
mov byte [ebp - 0x58d], al
cmp dword [ebp - 0x44c], 0
je 0x4ef318
mov byte [ebp - 0x58c], 0
jmp 0x4ef31f
mov byte [ebp - 0x58c], 0x18
mov byte [ebp - 0x58b], 0
mov byte [ebp - 0x584], 0
mov byte [ebp - 0x583], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x448], edx
mov dword [ebp - 0x444], eax
lea ecx, [ebp - 0x5f0]
push ecx
lea edx, [ebp - 0x448]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x5f0]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov ecx, dword [ebp - 0x430]
and ecx, 0xffff
shl ecx, 0xb
mov edx, dword [ebp - 0x42e]
and edx, 0xffff
shl edx, 5
add ecx, edx
mov eax, dword [ebp - 0x42c]
and eax, 0xffff
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [ebp - 0x554], ecx
mov eax, dword [ebp - 0x438]
and eax, 0xffff
sub eax, 0x7bc
shl eax, 9
mov ecx, dword [ebp - 0x436]
and ecx, 0xffff
shl ecx, 5
add eax, ecx
mov edx, dword [ebp - 0x432]
and edx, 0xffff
add eax, edx
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x554]
and eax, 0xff
mov byte [ebp - 0x58a], al
mov ecx, dword [ebp - 0x554]
sar ecx, 8
and ecx, 0xff
mov byte [ebp - 0x589], cl
mov edx, dword [ebp - 0x5e8]
and edx, 0xff
mov byte [ebp - 0x588], dl
mov eax, dword [ebp - 0x5e8]
sar eax, 8
and eax, 0xff
mov byte [ebp - 0x587], al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x448], edx
mov dword [ebp - 0x444], eax
lea ecx, [ebp - 0x5f0]
push ecx
lea edx, [ebp - 0x448]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x5f0]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov edx, dword [ebp - 0x438]
and edx, 0xffff
sub edx, 0x7bc
shl edx, 9
mov eax, dword [ebp - 0x436]
and eax, 0xffff
shl eax, 5
add edx, eax
mov ecx, dword [ebp - 0x432]
and ecx, 0xffff
add edx, ecx
mov dword [ebp - 0x5e8], edx
mov edx, dword [ebp - 0x5e8]
and edx, 0xff
mov byte [ebp - 0x586], dl
mov eax, dword [ebp - 0x5e8]
sar eax, 8
and eax, 0xff
mov byte [ebp - 0x585], al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x448], edx
mov dword [ebp - 0x444], eax
lea ecx, [ebp - 0x5f0]
push ecx
lea edx, [ebp - 0x448]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x5f0]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov ecx, dword [ebp - 0x430]
and ecx, 0xffff
shl ecx, 0xb
mov edx, dword [ebp - 0x42e]
and edx, 0xffff
shl edx, 5
add ecx, edx
mov eax, dword [ebp - 0x42c]
and eax, 0xffff
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [ebp - 0x554], ecx
mov eax, dword [ebp - 0x438]
and eax, 0xffff
sub eax, 0x7bc
shl eax, 9
mov ecx, dword [ebp - 0x436]
and ecx, 0xffff
shl ecx, 5
add eax, ecx
mov edx, dword [ebp - 0x432]
and edx, 0xffff
add eax, edx
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x554]
and eax, 0xff
mov byte [ebp - 0x582], al
mov ecx, dword [ebp - 0x554]
sar ecx, 8
and ecx, 0xff
mov byte [ebp - 0x581], cl
mov edx, dword [ebp - 0x5e8]
and edx, 0xff
mov byte [ebp - 0x580], dl
mov eax, dword [ebp - 0x5e8]
sar eax, 8
and eax, 0xff
mov byte [ebp - 0x57f], al
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 2
jne 0x4ef729
mov dword [ebp - 0x64c], 2
mov dword [ebp - 0x5a4], 3
jmp 0x4ef5f7
mov edx, dword [ebp - 0x5a4]
add edx, 1
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x184]
shl ecx, 9
cmp dword [ebp - 0x5a4], ecx
jge 0x4ef724
mov eax, dword [ebp - 0x64c]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
je 0x4ef67b
mov edx, dword [ebp - 0x64c]
imul edx, edx, 3
shr edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
xor eax, eax
mov al, byte [ecx + edx + 1]
shl eax, 8
mov word [ebp - 0x650], ax
mov ecx, dword [ebp - 0x64c]
imul ecx, ecx, 3
shr ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0xf0
sar edx, 4
mov ax, word [ebp - 0x650]
add ax, dx
mov word [ebp - 0x650], ax
jmp 0x4ef6d2
mov ecx, dword [ebp - 0x64c]
imul ecx, ecx, 3
shr ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
xor edx, edx
mov dl, byte [eax + ecx + 1]
and edx, 0xf
shl edx, 8
mov word [ebp - 0x650], dx
mov eax, dword [ebp - 0x64c]
imul eax, eax, 3
shr eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0xff
mov dx, word [ebp - 0x650]
add dx, cx
mov word [ebp - 0x650], dx
mov eax, dword [ebp - 0x650]
and eax, 0xffff
test eax, eax
jne 0x4ef6ef
mov ecx, dword [ebp - 0x64c]
mov dword [ebp - 0x214], ecx
jmp 0x4ef724
mov eax, dword [ebp - 0x5a4]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x4ef710
mov edx, dword [ebp - 0x5a4]
add edx, 1
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp - 0x64c]
add eax, 1
mov dword [ebp - 0x64c], eax
jmp 0x4ef5e8
jmp 0x4ef897
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x32
jne 0x4ef7fe
mov dword [ebp - 0x5a4], 0xc
jmp 0x4ef754
mov edx, dword [ebp - 0x5a4]
add edx, 4
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x184]
shl ecx, 9
cmp dword [ebp - 0x5a4], ecx
jge 0x4ef7f9
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
mov ecx, dword [ebp - 0x5a4]
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
mov eax, dword [ebp - 0x5a4]
xor ebx, ebx
mov bl, byte [ecx + eax + 1]
shl ebx, 8
or edx, ebx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x5a4]
mov ecx, dword [ebp - 0x5a4]
xor ebx, ebx
mov bl, byte [eax + ecx + 2]
shl ebx, 0x10
or edx, ebx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
mov eax, dword [ebp - 0x5a4]
xor ebx, ebx
mov bl, byte [ecx + eax + 3]
shl ebx, 0x18
or edx, ebx
mov dword [ebp - 0x654], edx
cmp dword [ebp - 0x654], 0
jne 0x4ef7f4
mov eax, dword [ebp - 0x5a4]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x214], eax
jmp 0x4ef7f9
jmp 0x4ef745
jmp 0x4ef897
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x16
jne 0x4ef897
mov dword [ebp - 0x5a4], 4
jmp 0x4ef829
mov edx, dword [ebp - 0x5a4]
add edx, 2
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x184]
shl ecx, 9
cmp dword [ebp - 0x5a4], ecx
jge 0x4ef897
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
mov ecx, dword [ebp - 0x5a4]
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
mov eax, dword [ebp - 0x5a4]
xor ebx, ebx
mov bl, byte [ecx + eax + 1]
shl ebx, 8
or edx, ebx
mov word [ebp - 0x658], dx
mov ecx, dword [ebp - 0x658]
and ecx, 0xffff
test ecx, ecx
jne 0x4ef895
mov eax, dword [ebp - 0x5a4]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x214], eax
jmp 0x4ef897
jmp 0x4ef81a
mov edx, dword [ebp - 0x214]
sar edx, 0x10
and edx, 0xff
mov byte [ebp - 0x584], dl
mov eax, dword [ebp - 0x214]
sar eax, 0x18
and eax, 0xff
mov byte [ebp - 0x583], al
mov ecx, dword [ebp - 0x214]
and ecx, 0xff
mov byte [ebp - 0x57e], cl
mov edx, dword [ebp - 0x214]
sar edx, 8
and edx, 0xff
mov byte [ebp - 0x57d], dl
mov eax, dword [ebp - 0x5a0]
and eax, 0xff
mov byte [ebp - 0x57c], al
mov ecx, dword [ebp - 0x5a0]
sar ecx, 8
and ecx, 0xff
mov byte [ebp - 0x57b], cl
mov edx, dword [ebp - 0x5a0]
sar edx, 0x10
and edx, 0xff
mov byte [ebp - 0x57a], dl
mov eax, dword [ebp - 0x5a0]
sar eax, 0x18
and eax, 0xff
mov byte [ebp - 0x579], al
push 0x20
lea ecx, [ebp - 0x598]
push ecx
mov edx, dword [ebp - 0x5b8]
add edx, dword [ebp - 0x5e4]
push edx
call fcn.0054c980
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x37374], 2
jne 0x4ef9db
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
je 0x4ef98d
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
sub eax, 2
mov ecx, dword [ebp + 8]
imul eax, dword [ecx + 0x180]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x17c]
add ecx, eax
mov dword [ebp - 0x750], ecx
jmp 0x4ef99c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x178]
mov dword [ebp - 0x750], eax
push 0
push 0x80
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x158]
push edx
push 0x2a
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x5b8]
push ecx
mov edx, dword [ebp - 0x750]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
jmp 0x4efae4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x32
jne 0x4efa62
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
je 0x4efa14
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub ecx, 3
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x180]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x17c]
add edx, ecx
mov dword [ebp - 0x754], edx
jmp 0x4efa23
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x178]
mov dword [ebp - 0x754], ecx
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x5b8]
push edx
mov eax, dword [ebp - 0x754]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
jmp 0x4efae4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x37374], 0x16
jne 0x4efae4
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x4efa9b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sub edx, 2
mov eax, dword [ebp + 8]
imul edx, dword [eax + 0x180]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x17c]
add eax, edx
mov dword [ebp - 0x758], eax
jmp 0x4efaaa
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x178]
mov dword [ebp - 0x758], edx
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x158]
push ecx
push 0x2a
mov edx, dword [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x5b8]
push eax
mov ecx, dword [ebp - 0x758]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
push 0x64
push 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x180]
shl ecx, 9
push ecx
call fcn.00536ece
add esp, 0xc
mov dword [ebp - 0x5b0], eax
cmp dword [ebp - 0x5b0], 0
jne 0x4efb7f
cmp dword [ebp - 0x5b8], 0
je 0x4efb24
mov edx, dword [ebp - 0x5b8]
push edx
call fcn.0054c543
add esp, 4
push 0x5b0c90
mov eax, dword [ebp + 8]
add eax, 0x29fc
push eax
call fcn.0054bec0
add esp, 8
mov dword [ebp - 0x6b8], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.00560ea1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00560ea1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00560ea1
mov eax, dword [ebp - 0x6b8]
jmp 0x4f030f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x180]
shl edx, 9
push edx
push 0
mov eax, dword [ebp - 0x5b0]
push eax
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 0x5a4], 0
jmp 0x4efbb8
mov ecx, dword [ebp - 0x5a4]
add ecx, 1
mov dword [ebp - 0x5a4], ecx
cmp dword [ebp - 0x5a4], 2
jge 0x4eff6f
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx], 0x2e
cmp dword [ebp - 0x5a4], 0
je 0x4efbf7
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 1], 0x2e
jmp 0x4efc0b
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 1], 0x20
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 2], 0x20
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 3], 0x20
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 4], 0x20
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 5], 0x20
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 6], 0x20
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 7], 0x20
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 8], 0x20
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 9], 0x20
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0xa], 0x20
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 0xb], 0x10
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 0xc], 0
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0xd], 0x63
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 0xe], 0x62
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 0xf], 0x5a
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x10], 0xe5
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 0x11], 0x32
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 0x12], 0xe5
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x13], 0x32
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 0x14], 0
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 0x15], 0
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x16], 0x63
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 0x17], 0x5a
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 0x18], 0xe5
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x19], 0x32
cmp dword [ebp - 0x5a4], 0
je 0x4efe89
mov edx, dword [ebp + 8]
cmp dword [edx + 0x37374], 0x32
jne 0x4efe46
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sar ecx, 0x10
and ecx, 0xff
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 0x14], cl
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sar edx, 0x18
and edx, 0xff
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x15], dl
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
and eax, 0xff
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 0x1a], al
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sar ecx, 8
and ecx, 0xff
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 0x1b], cl
jmp 0x4eff1a
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x32
jne 0x4efed9
mov edx, dword [ebp - 0x214]
sar edx, 0x10
and edx, 0xff
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x14], dl
mov edx, dword [ebp - 0x214]
sar edx, 0x18
and edx, 0xff
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x15], dl
mov edx, dword [ebp - 0x214]
and edx, 0xff
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x1a], dl
mov edx, dword [ebp - 0x214]
sar edx, 8
and edx, 0xff
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x1b], dl
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 0x1c], 0
mov ecx, dword [ebp - 0x5a4]
shl ecx, 5
mov edx, dword [ebp - 0x5b0]
mov byte [edx + ecx + 0x1d], 0
mov eax, dword [ebp - 0x5a4]
shl eax, 5
mov ecx, dword [ebp - 0x5b0]
mov byte [ecx + eax + 0x1e], 0
mov edx, dword [ebp - 0x5a4]
shl edx, 5
mov eax, dword [ebp - 0x5b0]
mov byte [eax + edx + 0x1f], 0
jmp 0x4efba9
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 2
jne 0x4effd8
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x180]
shl edx, 9
push edx
mov eax, dword [ebp - 0x5b0]
push eax
mov ecx, dword [ebp - 0x214]
sub ecx, 2
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x180]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x17c]
add edx, ecx
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
jmp 0x4f00a2
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x32
jne 0x4f003e
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x180]
shl edx, 9
push edx
mov eax, dword [ebp - 0x5b0]
push eax
mov ecx, dword [ebp - 0x214]
sub ecx, 3
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x180]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x17c]
add edx, ecx
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
jmp 0x4f00a2
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x16
jne 0x4f00a2
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x180]
shl edx, 9
push edx
mov eax, dword [ebp - 0x5b0]
push eax
mov ecx, dword [ebp - 0x214]
sub ecx, 2
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x180]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x17c]
add edx, ecx
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 2
jne 0x4f019f
mov edx, dword [ebp - 0x214]
and edx, 0x80000001
jns 0x4f00c5
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
je 0x4f0132
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xc
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0xf
add ecx, 0xf0
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xc
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + eax], cl
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xc
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov byte [edx + eax + 1], 0xff
jmp 0x4f019a
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xc
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov byte [edx + eax], 0xff
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xc
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
and ecx, 0xf0
add ecx, 0xf
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xc
cdq
and edx, 7
add eax, edx
sar eax, 3
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5a4]
mov byte [edx + eax + 1], cl
jmp 0x4f022f
mov eax, dword [ebp + 8]
cmp dword [eax + 0x37374], 0x32
jne 0x4f01fc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov eax, dword [ebp - 0x214]
mov byte [edx + eax*4], 0xff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov eax, dword [ebp - 0x214]
mov byte [edx + eax*4 + 1], 0xff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov eax, dword [ebp - 0x214]
mov byte [edx + eax*4 + 2], 0xff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5a4]
mov eax, dword [ebp - 0x214]
mov byte [edx + eax*4 + 3], 0xf
jmp 0x4f022f
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x37374], 0x16
jne 0x4f022f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
mov ecx, dword [ebp - 0x214]
mov byte [eax + ecx*2], 0xff
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5a4]
mov ecx, dword [ebp - 0x214]
mov byte [eax + ecx*2 + 1], 0xff
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x184]
shl edx, 9
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x170]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x158]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x184]
shl edx, 9
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5a4]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x174]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ec6a7
add esp, 0x20
mov dword [ebp - 0x418], eax
mov edx, dword [ebp - 0x5b0]
push edx
call fcn.0054c543
add esp, 4
mov eax, dword [ebp - 0x5b8]
push eax
call fcn.0054c543
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a8]
call fcn.00560ea1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00560ea1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.00560ea1
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret