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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57578a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x2768
call fcn.0054c740
push ebx
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x214], 0
mov eax, dword [ebp + 8]
add eax, 0x6d00
push eax
call fcn.0054ce70
add esp, 4
mov ecx, dword [ebp + 0x10]
add ecx, eax
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.0054be90
add esp, 8
mov eax, 1
test eax, eax
je 0x4ee495
lea ecx, [ebp - 0x414]
push ecx
lea edx, [ebp - 0x210]
push edx
call fcn.0054be90
add esp, 8
push 0x5c868c
lea eax, [ebp - 0x210]
push eax
call fcn.0054cb20
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4ee47d
jmp 0x4ee495
mov ecx, dword [ebp - 0x10]
add ecx, 1
push ecx
lea edx, [ebp - 0x414]
push edx
call fcn.0054be90
add esp, 8
jmp 0x4ee43f
lea eax, [ebp - 0x414]
push eax
call fcn.0054ce70
add esp, 4
test eax, eax
je 0x4f1be7
mov dword [ebp - 0x5b0], 0
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 0x5bc], 0
lea ecx, [ebp - 0x424]
call fcn.004108b0
lea ecx, [ebp - 0x428]
call fcn.00401420
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.00401420
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5ac]
call fcn.00401420
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x454]
call fcn.00401420
mov byte [ebp - 4], 3
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 0x44c], 0
mov byte [ebp - 0x440], 0
mov dword [ebp - 0x450], 0
push 0x2000
push 0
lea ecx, [ebp - 0x25ec]
push ecx
call fcn.0054bf90
add esp, 0xc
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
jne 0x4ee56f
mov eax, dword [ebp + 8]
cmp dword [eax + 0x718c], 0x16
jne 0x4ee56f
mov dword [ebp - 0x43c], 0x4000
jmp 0x4ee5a1
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
jne 0x4ee58f
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 2
jne 0x4ee58f
mov dword [ebp - 0x43c], 0x1c00
jmp 0x4ee5a1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cec]
shl ecx, 9
mov dword [ebp - 0x43c], ecx
mov edx, dword [ebp - 0x43c]
push edx
call fcn.0054cfd4
add esp, 4
mov dword [ebp - 0x5bc], eax
push 0x20
push 0
lea eax, [ebp - 0x5e0]
push eax
call fcn.0054bf90
add esp, 0xc
mov dword [ebp - 0x5a4], 0
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x25f8], eax
lea edx, [ebp - 0x414]
push edx
lea ecx, [ebp - 0x428]
call fcn.005621f5
push 0x2e
lea ecx, [ebp - 0x428]
call fcn.0055f47f
mov dword [ebp - 0x5a0], eax
cmp dword [ebp - 0x5a0], 0xffffffff
jne 0x4ee638
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x420]
call fcn.005621a5
push 0x6857c8
lea ecx, [ebp - 0x5ac]
call fcn.005621f5
jmp 0x4ee6e6
mov ecx, dword [ebp - 0x5a0]
push ecx
lea edx, [ebp - 0x2668]
push edx
lea ecx, [ebp - 0x428]
call fcn.0055f407
mov dword [ebp - 0x26c0], eax
mov eax, dword [ebp - 0x26c0]
mov dword [ebp - 0x26c4], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x26c4]
push ecx
lea ecx, [ebp - 0x420]
call fcn.005621a5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2668]
call fcn.0056206c
lea ecx, [ebp - 0x428]
call fcn.00401440
sub eax, dword [ebp - 0x5a0]
sub eax, 1
push eax
lea edx, [ebp - 0x266c]
push edx
lea ecx, [ebp - 0x428]
call fcn.0055f38b
mov dword [ebp - 0x26c8], eax
mov eax, dword [ebp - 0x26c8]
mov dword [ebp - 0x26cc], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x26cc]
push ecx
lea ecx, [ebp - 0x5ac]
call fcn.005621a5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x266c]
call fcn.0056206c
lea ecx, [ebp - 0x420]
call fcn.0056256e
lea ecx, [ebp - 0x5ac]
call fcn.0056256e
lea ecx, [ebp - 0x420]
call fcn.00401440
cmp eax, 8
jg 0x4ee71c
lea ecx, [ebp - 0x5ac]
call fcn.00401440
cmp eax, 3
jle 0x4ee726
mov dword [ebp - 0x44c], 1
lea ecx, [ebp - 0x5ac]
call fcn.00401440
cmp eax, 3
jge 0x4ee770
lea ecx, [ebp - 0x5ac]
call fcn.00401440
mov dword [ebp - 0x25fc], eax
jmp 0x4ee758
mov edx, dword [ebp - 0x25fc]
add edx, 1
mov dword [ebp - 0x25fc], edx
cmp dword [ebp - 0x25fc], 3
jge 0x4ee770
push 0x20
lea ecx, [ebp - 0x5ac]
call fcn.0056246f
jmp 0x4ee749
cmp dword [ebp - 0x44c], 0
jne 0x4ee816
lea ecx, [ebp - 0x420]
call fcn.00401440
mov dword [ebp - 0x2604], eax
jmp 0x4ee79f
mov eax, dword [ebp - 0x2604]
add eax, 1
mov dword [ebp - 0x2604], eax
cmp dword [ebp - 0x2604], 8
jge 0x4ee7ba
push 0x5c8690
lea ecx, [ebp - 0x420]
call fcn.00562448
jmp 0x4ee790
lea ecx, [ebp - 0x5ac]
call fcn.00401440
mov dword [ebp - 0x2600], eax
jmp 0x4ee7dc
mov ecx, dword [ebp - 0x2600]
add ecx, 1
mov dword [ebp - 0x2600], ecx
cmp dword [ebp - 0x2600], 3
jge 0x4ee7f4
push 0x20
lea ecx, [ebp - 0x5ac]
call fcn.0056246f
jmp 0x4ee7cd
mov edx, dword [ebp - 0x5ac]
push edx
mov eax, dword [ebp - 0x420]
push eax
push 0x5c8694
lea ecx, [ebp - 0x5e0]
push ecx
call fcn.0054c6e3
add esp, 0x10
mov dword [ebp - 0x44c], 1
cmp dword [ebp - 0x44c], 0
je 0x4ef141
push 0x20
lea ecx, [ebp - 0x420]
call fcn.0055f281
push 0x2e
lea ecx, [ebp - 0x420]
call fcn.0055f281
lea ecx, [ebp - 0x5ac]
call fcn.00401440
cmp eax, 3
jle 0x4ee864
push 0x20
lea ecx, [ebp - 0x5ac]
call fcn.0055f281
push 0x2e
lea ecx, [ebp - 0x5ac]
call fcn.0055f281
mov dword [ebp - 0x2608], 1
jmp 0x4ee88c
mov edx, dword [ebp - 0x2608]
add edx, 1
mov dword [ebp - 0x2608], edx
cmp dword [ebp - 0x2608], 0x98967f
jae 0x4eec9e
mov dword [ebp - 0x2610], 0
cmp dword [ebp - 0x2608], 0xa
jae 0x4ee911
mov eax, dword [ebp - 0x2608]
push eax
push 6
lea ecx, [ebp - 0x2670]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x26d0], eax
mov edx, dword [ebp - 0x26d0]
mov dword [ebp - 0x26d4], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x26d4]
mov ecx, dword [eax]
push ecx
push 0x5c869c
lea edx, [ebp - 0x420]
push edx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2670]
call fcn.0056206c
jmp 0x4eeb58
cmp dword [ebp - 0x2608], 0x64
jae 0x4ee97c
mov eax, dword [ebp - 0x2608]
push eax
push 5
lea ecx, [ebp - 0x2674]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x26d8], eax
mov edx, dword [ebp - 0x26d8]
mov dword [ebp - 0x26dc], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x26dc]
mov ecx, dword [eax]
push ecx
push 0x5c86a4
lea edx, [ebp - 0x420]
push edx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2674]
call fcn.0056206c
jmp 0x4eeb58
cmp dword [ebp - 0x2608], 0x3e8
jae 0x4ee9ea
mov eax, dword [ebp - 0x2608]
push eax
push 4
lea ecx, [ebp - 0x2678]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x26e0], eax
mov edx, dword [ebp - 0x26e0]
mov dword [ebp - 0x26e4], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x26e4]
mov ecx, dword [eax]
push ecx
push 0x5c86ac
lea edx, [ebp - 0x420]
push edx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2678]
call fcn.0056206c
jmp 0x4eeb58
cmp dword [ebp - 0x2608], 0x2710
jae 0x4eea58
mov eax, dword [ebp - 0x2608]
push eax
push 3
lea ecx, [ebp - 0x267c]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x26e8], eax
mov edx, dword [ebp - 0x26e8]
mov dword [ebp - 0x26ec], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x26ec]
mov ecx, dword [eax]
push ecx
push 0x5c86b4
lea edx, [ebp - 0x420]
push edx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x267c]
call fcn.0056206c
jmp 0x4eeb58
cmp dword [ebp - 0x2608], 0x186a0
jae 0x4eeac6
mov eax, dword [ebp - 0x2608]
push eax
push 2
lea ecx, [ebp - 0x2680]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x26f0], eax
mov edx, dword [ebp - 0x26f0]
mov dword [ebp - 0x26f4], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x26f4]
mov ecx, dword [eax]
push ecx
push 0x5c86bc
lea edx, [ebp - 0x420]
push edx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2680]
call fcn.0056206c
jmp 0x4eeb58
cmp dword [ebp - 0x2608], 0xf4240
jae 0x4eeb31
mov eax, dword [ebp - 0x2608]
push eax
push 1
lea ecx, [ebp - 0x2684]
push ecx
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x26f8], eax
mov edx, dword [ebp - 0x26f8]
mov dword [ebp - 0x26fc], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x26fc]
mov ecx, dword [eax]
push ecx
push 0x5c86c4
lea edx, [ebp - 0x420]
push edx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2684]
call fcn.0056206c
jmp 0x4eeb58
cmp dword [ebp - 0x2608], 0x989680
jae 0x4eeb58
mov eax, dword [ebp - 0x2608]
push eax
push 0x5c86cc
lea ecx, [ebp - 0x420]
push ecx
call fcn.0055f827
add esp, 0xc
mov dword [ebp - 0x5a8], 0
jmp 0x4eeb73
mov edx, dword [ebp - 0x5a8]
add edx, 0x20
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp - 0x5a8]
cmp eax, dword [ebp - 0x43c]
jge 0x4eebc2
lea ecx, [ebp - 0x420]
call fcn.005287a0
mov dword [ebp - 0x2614], eax
push 8
mov ecx, dword [ebp - 0x2614]
push ecx
mov edx, dword [ebp - 0x5bc]
add edx, dword [ebp - 0x5a8]
push edx
call fcn.0054d3c0
add esp, 0xc
test eax, eax
jne 0x4eebc0
mov dword [ebp - 0x2610], 1
jmp 0x4eebc2
jmp 0x4eeb64
cmp dword [ebp - 0x2610], 0
jne 0x4eec99
lea eax, [ebp - 0x5ac]
push eax
lea ecx, [ebp - 0x420]
push ecx
lea edx, [ebp - 0x2688]
push edx
call fcn.0056229b
mov dword [ebp - 0x2700], eax
mov eax, dword [ebp - 0x2700]
mov dword [ebp - 0x2704], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x2704]
push ecx
lea ecx, [ebp - 0x454]
call fcn.005621a5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2688]
call fcn.0056206c
lea ecx, [ebp - 0x454]
call fcn.00401440
cmp eax, 0xb
jle 0x4eec7b
push 0xb
lea edx, [ebp - 0x268c]
push edx
lea ecx, [ebp - 0x454]
call fcn.0055f407
mov dword [ebp - 0x2708], eax
mov eax, dword [ebp - 0x2708]
mov dword [ebp - 0x270c], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x270c]
push ecx
lea ecx, [ebp - 0x454]
call fcn.005621a5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x268c]
call fcn.0056206c
mov edx, dword [ebp - 0x454]
push edx
push 0x5c86d0
lea eax, [ebp - 0x5e0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4eec9e
jmp 0x4ee87d
mov dword [ebp - 0x55c], 0
mov dword [ebp - 0x260c], 0
mov dword [ebp - 0x5a8], 0
jmp 0x4eeccd
mov ecx, dword [ebp - 0x5a8]
add ecx, 1
mov dword [ebp - 0x5a8], ecx
lea ecx, [ebp - 0x428]
call fcn.00401440
cmp dword [ebp - 0x5a8], eax
jge 0x4eeddd
mov edx, dword [ebp - 0x5a8]
push edx
lea ecx, [ebp - 0x428]
call fcn.00441a10
and eax, 0xff
cmp eax, 0x80
jle 0x4eed8d
push 0
lea ecx, [ebp - 0x428]
call fcn.0056249c
mov dword [ebp - 0x261c], eax
push 2
lea eax, [ebp - 0x2618]
push eax
push 2
mov ecx, dword [ebp - 0x261c]
add ecx, dword [ebp - 0x5a8]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, dword [ebp - 0x2618]
and edx, 0xffff
and edx, 0xff
mov eax, dword [ebp - 0x260c]
mov byte [ebp + eax - 0x554], dl
mov ecx, dword [ebp - 0x2618]
and ecx, 0xffff
sar ecx, 8
and ecx, 0xff
mov edx, dword [ebp - 0x260c]
mov byte [ebp + edx - 0x553], cl
mov eax, dword [ebp - 0x5a8]
add eax, 1
mov dword [ebp - 0x5a8], eax
jmp 0x4eedba
mov ecx, dword [ebp - 0x5a8]
push ecx
lea ecx, [ebp - 0x428]
call fcn.00441a10
mov edx, dword [ebp - 0x260c]
mov byte [ebp + edx - 0x554], al
mov eax, dword [ebp - 0x260c]
mov byte [ebp + eax - 0x553], 0
mov ecx, dword [ebp - 0x55c]
add ecx, 1
mov dword [ebp - 0x55c], ecx
mov edx, dword [ebp - 0x260c]
add edx, 2
mov dword [ebp - 0x260c], edx
jmp 0x4eecbe
mov eax, dword [ebp - 0x55c]
cdq
mov ecx, 0xd
idiv ecx
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x55c]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
je 0x4eee12
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 - 0x5b0], eax
mov ecx, dword [ebp - 0x5b0]
push ecx
call fcn.0054cfd4
add esp, 4
mov dword [ebp - 0x5c0], eax
mov edx, dword [ebp - 0x5b0]
push edx
push 0
mov eax, dword [ebp - 0x5c0]
push eax
call fcn.0054bf90
add esp, 0xc
mov dword [ebp - 0x5a8], 0
jmp 0x4eee6c
mov ecx, dword [ebp - 0x5a8]
add ecx, 1
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp - 0x5a8]
cmp edx, dword [ebp - 0x41c]
jge 0x4ef141
push 0x40
push 0
lea eax, [ebp - 0x59c]
push eax
call fcn.0054bf90
add esp, 0xc
mov dword [ebp - 0x5e4], 0
mov ecx, dword [ebp - 0x41c]
sub ecx, 1
sub ecx, dword [ebp - 0x5a8]
imul ecx, ecx, 0xd
mov dword [ebp - 0x5b8], ecx
jmp 0x4eeec4
mov edx, dword [ebp - 0x5b8]
add edx, 1
mov dword [ebp - 0x5b8], edx
mov eax, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x5a8]
imul eax, eax, 0xd
cmp dword [ebp - 0x5b8], eax
jge 0x4ef10a
cmp dword [ebp - 0x5a8], 0
jne 0x4eef21
mov eax, dword [ebp - 0x5b8]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
jne 0x4eef21
mov edx, dword [ebp - 0x41c]
add edx, 0x40
mov eax, dword [ebp - 0x5e4]
mov byte [ebp + eax - 0x59c], dl
mov ecx, dword [ebp - 0x5e4]
add ecx, 1
mov dword [ebp - 0x5e4], ecx
jmp 0x4eef5b
mov eax, dword [ebp - 0x5b8]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
jne 0x4eef5b
mov edx, dword [ebp - 0x41c]
sub edx, dword [ebp - 0x5a8]
mov eax, dword [ebp - 0x5e4]
mov byte [ebp + eax - 0x59c], dl
mov ecx, dword [ebp - 0x5e4]
add ecx, 1
mov dword [ebp - 0x5e4], ecx
cmp dword [ebp - 0x5e4], 0xb
jne 0x4eefcb
mov edx, dword [ebp - 0x5e4]
mov byte [ebp + edx - 0x59c], 0xf
mov eax, dword [ebp - 0x5e4]
add eax, 1
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x5e4]
mov byte [ebp + ecx - 0x59c], 0
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
lea eax, [ebp - 0x5e0]
push eax
call fcn.004f1bfc
add esp, 4
mov ecx, dword [ebp - 0x5e4]
mov byte [ebp + ecx - 0x59c], al
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
jmp 0x4ef00e
cmp dword [ebp - 0x5e4], 0x1a
jne 0x4ef00e
mov eax, dword [ebp - 0x5e4]
mov byte [ebp + eax - 0x59c], 0
mov ecx, dword [ebp - 0x5e4]
add ecx, 1
mov dword [ebp - 0x5e4], ecx
mov edx, dword [ebp - 0x5e4]
mov byte [ebp + edx - 0x59c], 0
mov eax, dword [ebp - 0x5e4]
add eax, 1
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x5b8]
cmp ecx, dword [ebp - 0x55c]
jge 0x4ef073
mov edx, dword [ebp - 0x5e4]
mov eax, dword [ebp - 0x5b8]
mov cl, byte [ebp + eax*2 - 0x554]
mov byte [ebp + edx - 0x59c], cl
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
mov eax, dword [ebp - 0x5e4]
mov ecx, dword [ebp - 0x5b8]
mov dl, byte [ebp + ecx*2 - 0x553]
mov byte [ebp + eax - 0x59c], dl
mov eax, dword [ebp - 0x5e4]
add eax, 1
mov dword [ebp - 0x5e4], eax
jmp 0x4ef105
mov ecx, dword [ebp - 0x5b8]
cmp ecx, dword [ebp - 0x55c]
jne 0x4ef0bd
mov edx, dword [ebp - 0x5e4]
mov byte [ebp + edx - 0x59c], 0
mov eax, dword [ebp - 0x5e4]
add eax, 1
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x5e4]
mov byte [ebp + ecx - 0x59c], 0
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
jmp 0x4ef105
mov eax, dword [ebp - 0x5b8]
cmp eax, dword [ebp - 0x55c]
jle 0x4ef105
mov ecx, dword [ebp - 0x5e4]
mov byte [ebp + ecx - 0x59c], 0xff
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
mov eax, dword [ebp - 0x5e4]
mov byte [ebp + eax - 0x59c], 0xff
mov ecx, dword [ebp - 0x5e4]
add ecx, 1
mov dword [ebp - 0x5e4], ecx
jmp 0x4eeeb5
push 0x20
lea edx, [ebp - 0x59c]
push edx
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5c0]
add ecx, eax
push ecx
call fcn.0054c7e0
add esp, 0xc
mov edx, dword [ebp - 0x5e8]
add edx, 0x20
mov dword [ebp - 0x5e8], edx
jmp 0x4eee5d
mov eax, dword [ebp - 0x440]
and eax, 0xff
test eax, eax
jne 0x4f0b50
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x718c], 2
jne 0x4ef1d4
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
je 0x4ef18d
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub ecx, 2
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x6cec]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x6ce8]
add edx, ecx
mov dword [ebp - 0x2710], edx
jmp 0x4ef19c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6ce4]
mov dword [ebp - 0x2710], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cc4]
push eax
push 0x28
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x5bc]
push edx
mov eax, dword [ebp - 0x2710]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004d0986
add esp, 0x18
mov dword [ebp - 0x418], eax
jmp 0x4ef2cc
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 0x32
jne 0x4ef251
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x4ef20d
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sub edx, 3
mov eax, dword [ebp + 8]
imul edx, dword [eax + 0x6cec]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6ce8]
add eax, edx
mov dword [ebp - 0x2714], eax
jmp 0x4ef21c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6ce4]
mov dword [ebp - 0x2714], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cc4]
push ecx
push 0x28
mov edx, dword [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x5bc]
push eax
mov ecx, dword [ebp - 0x2714]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004d0986
add esp, 0x18
mov dword [ebp - 0x418], eax
jmp 0x4ef2cc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x718c], 0x16
jne 0x4ef2cc
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
je 0x4ef28a
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
sub eax, 2
mov ecx, dword [ebp + 8]
imul eax, dword [ecx + 0x6cec]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x6ce8]
add ecx, eax
mov dword [ebp - 0x2718], ecx
jmp 0x4ef299
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6ce4]
mov dword [ebp - 0x2718], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cc4]
push edx
push 0x28
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x5bc]
push ecx
mov edx, dword [ebp - 0x2718]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004d0986
add esp, 0x18
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x2620], 1
jmp 0x4ef2e7
mov ecx, dword [ebp - 0x2620]
add ecx, 1
mov dword [ebp - 0x2620], ecx
cmp dword [ebp - 0x2620], 0x98967f
jae 0x4ef78d
mov dword [ebp - 0x2628], 0
cmp dword [ebp - 0x2620], 0xa
jae 0x4ef36c
mov edx, dword [ebp - 0x2620]
push edx
push 6
lea eax, [ebp - 0x2690]
push eax
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x271c], eax
mov ecx, dword [ebp - 0x271c]
mov dword [ebp - 0x2720], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x2720]
mov eax, dword [edx]
push eax
push 0x5c86d4
lea ecx, [ebp - 0x420]
push ecx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2690]
call fcn.0056206c
jmp 0x4ef5b3
cmp dword [ebp - 0x2620], 0x64
jae 0x4ef3d7
mov edx, dword [ebp - 0x2620]
push edx
push 5
lea eax, [ebp - 0x2694]
push eax
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x2724], eax
mov ecx, dword [ebp - 0x2724]
mov dword [ebp - 0x2728], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x2728]
mov eax, dword [edx]
push eax
push 0x5c86dc
lea ecx, [ebp - 0x420]
push ecx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2694]
call fcn.0056206c
jmp 0x4ef5b3
cmp dword [ebp - 0x2620], 0x3e8
jae 0x4ef445
mov edx, dword [ebp - 0x2620]
push edx
push 4
lea eax, [ebp - 0x2698]
push eax
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x272c], eax
mov ecx, dword [ebp - 0x272c]
mov dword [ebp - 0x2730], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2730]
mov eax, dword [edx]
push eax
push 0x5c86e4
lea ecx, [ebp - 0x420]
push ecx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2698]
call fcn.0056206c
jmp 0x4ef5b3
cmp dword [ebp - 0x2620], 0x2710
jae 0x4ef4b3
mov edx, dword [ebp - 0x2620]
push edx
push 3
lea eax, [ebp - 0x269c]
push eax
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x2734], eax
mov ecx, dword [ebp - 0x2734]
mov dword [ebp - 0x2738], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x2738]
mov eax, dword [edx]
push eax
push 0x5c86ec
lea ecx, [ebp - 0x420]
push ecx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x269c]
call fcn.0056206c
jmp 0x4ef5b3
cmp dword [ebp - 0x2620], 0x186a0
jae 0x4ef521
mov edx, dword [ebp - 0x2620]
push edx
push 2
lea eax, [ebp - 0x26a0]
push eax
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x273c], eax
mov ecx, dword [ebp - 0x273c]
mov dword [ebp - 0x2740], ecx
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x2740]
mov eax, dword [edx]
push eax
push 0x5c86f4
lea ecx, [ebp - 0x420]
push ecx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x26a0]
call fcn.0056206c
jmp 0x4ef5b3
cmp dword [ebp - 0x2620], 0xf4240
jae 0x4ef58c
mov edx, dword [ebp - 0x2620]
push edx
push 1
lea eax, [ebp - 0x26a4]
push eax
lea ecx, [ebp - 0x420]
call fcn.0055f407
mov dword [ebp - 0x2744], eax
mov ecx, dword [ebp - 0x2744]
mov dword [ebp - 0x2748], ecx
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x2748]
mov eax, dword [edx]
push eax
push str._s_d
lea ecx, [ebp - 0x420]
push ecx
call fcn.0055f827
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x26a4]
call fcn.0056206c
jmp 0x4ef5b3
cmp dword [ebp - 0x2620], 0x989680
jae 0x4ef5b3
mov edx, dword [ebp - 0x2620]
push edx
push 0x5c8704
lea eax, [ebp - 0x420]
push eax
call fcn.0055f827
add esp, 0xc
mov dword [ebp - 0x5a8], 0
jmp 0x4ef5ce
mov ecx, dword [ebp - 0x5a8]
add ecx, 0x20
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp - 0x5a8]
cmp edx, dword [ebp - 0x43c]
jge 0x4ef61d
lea ecx, [ebp - 0x420]
call fcn.005287a0
mov dword [ebp - 0x262c], eax
push 8
mov eax, dword [ebp - 0x262c]
push eax
mov ecx, dword [ebp - 0x5bc]
add ecx, dword [ebp - 0x5a8]
push ecx
call fcn.0054d3c0
add esp, 0xc
test eax, eax
jne 0x4ef61b
mov dword [ebp - 0x2628], 1
jmp 0x4ef61d
jmp 0x4ef5bf
cmp dword [ebp - 0x2628], 0
jne 0x4ef788
lea ecx, [ebp - 0x420]
call fcn.00401440
cmp eax, 8
jge 0x4ef674
lea ecx, [ebp - 0x420]
call fcn.00401440
mov dword [ebp - 0x2630], eax
jmp 0x4ef65c
mov edx, dword [ebp - 0x2630]
add edx, 1
mov dword [ebp - 0x2630], edx
cmp dword [ebp - 0x2630], 8
jge 0x4ef674
push 0x20
lea ecx, [ebp - 0x420]
call fcn.0056246f
jmp 0x4ef64d
lea ecx, [ebp - 0x5ac]
call fcn.00401440
cmp eax, 3
jge 0x4ef6be
lea ecx, [ebp - 0x5ac]
call fcn.00401440
mov dword [ebp - 0x2634], eax
jmp 0x4ef6a6
mov eax, dword [ebp - 0x2634]
add eax, 1
mov dword [ebp - 0x2634], eax
cmp dword [ebp - 0x2634], 3
jge 0x4ef6be
push 0x20
lea ecx, [ebp - 0x5ac]
call fcn.0056246f
jmp 0x4ef697
lea ecx, [ebp - 0x5ac]
push ecx
lea edx, [ebp - 0x420]
push edx
lea eax, [ebp - 0x26a8]
push eax
call fcn.0056229b
mov dword [ebp - 0x274c], eax
mov ecx, dword [ebp - 0x274c]
mov dword [ebp - 0x2750], ecx
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x2750]
push edx
lea ecx, [ebp - 0x454]
call fcn.005621a5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x26a8]
call fcn.0056206c
lea ecx, [ebp - 0x454]
call fcn.00401440
cmp eax, 0xb
jle 0x4ef76a
push 0xb
lea eax, [ebp - 0x26ac]
push eax
lea ecx, [ebp - 0x454]
call fcn.0055f407
mov dword [ebp - 0x2754], eax
mov ecx, dword [ebp - 0x2754]
mov dword [ebp - 0x2758], ecx
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x2758]
push edx
lea ecx, [ebp - 0x454]
call fcn.005621a5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x26ac]
call fcn.0056206c
mov eax, dword [ebp - 0x454]
push eax
push 0x5c8708
lea ecx, [ebp - 0x5e0]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4ef78d
jmp 0x4ef2d8
mov dword [ebp - 0x55c], 0
mov dword [ebp - 0x2624], 0
mov dword [ebp - 0x5a8], 0
jmp 0x4ef7bc
mov edx, dword [ebp - 0x5a8]
add edx, 1
mov dword [ebp - 0x5a8], edx
lea ecx, [ebp - 0x428]
call fcn.00401440
cmp dword [ebp - 0x5a8], eax
jge 0x4ef8ca
mov eax, dword [ebp - 0x5a8]
push eax
lea ecx, [ebp - 0x428]
call fcn.00441a10
and eax, 0xff
cmp eax, 0x80
jle 0x4ef87a
push 0
lea ecx, [ebp - 0x428]
call fcn.0056249c
mov dword [ebp - 0x263c], eax
push 2
lea ecx, [ebp - 0x2638]
push ecx
push 2
mov edx, dword [ebp - 0x263c]
add edx, dword [ebp - 0x5a8]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x2638]
and eax, 0xffff
and eax, 0xff
mov ecx, dword [ebp - 0x2624]
mov byte [ebp + ecx - 0x554], al
mov edx, dword [ebp - 0x2638]
and edx, 0xffff
sar edx, 8
and edx, 0xff
mov eax, dword [ebp - 0x2624]
mov byte [ebp + eax - 0x553], dl
mov ecx, dword [ebp - 0x5a8]
add ecx, 1
mov dword [ebp - 0x5a8], ecx
jmp 0x4ef8a7
mov edx, dword [ebp - 0x5a8]
push edx
lea ecx, [ebp - 0x428]
call fcn.00441a10
mov ecx, dword [ebp - 0x2624]
mov byte [ebp + ecx - 0x554], al
mov edx, dword [ebp - 0x2624]
mov byte [ebp + edx - 0x553], 0
mov eax, dword [ebp - 0x55c]
add eax, 1
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x2624]
add ecx, 2
mov dword [ebp - 0x2624], ecx
jmp 0x4ef7ad
mov eax, dword [ebp - 0x55c]
cdq
mov ecx, 0xd
idiv ecx
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x55c]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
je 0x4ef8ff
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 - 0x5b0], eax
mov ecx, dword [ebp - 0x5b0]
push ecx
call fcn.0054cfd4
add esp, 4
mov dword [ebp - 0x5c0], eax
mov edx, dword [ebp - 0x5b0]
push edx
push 0
mov eax, dword [ebp - 0x5c0]
push eax
call fcn.0054bf90
add esp, 0xc
mov dword [ebp - 0x5a8], 0
jmp 0x4ef959
mov ecx, dword [ebp - 0x5a8]
add ecx, 1
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp - 0x5a8]
cmp edx, dword [ebp - 0x41c]
jge 0x4efc2e
push 0x40
push 0
lea eax, [ebp - 0x59c]
push eax
call fcn.0054bf90
add esp, 0xc
mov dword [ebp - 0x5e4], 0
mov ecx, dword [ebp - 0x41c]
sub ecx, 1
sub ecx, dword [ebp - 0x5a8]
imul ecx, ecx, 0xd
mov dword [ebp - 0x5b8], ecx
jmp 0x4ef9b1
mov edx, dword [ebp - 0x5b8]
add edx, 1
mov dword [ebp - 0x5b8], edx
mov eax, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x5a8]
imul eax, eax, 0xd
cmp dword [ebp - 0x5b8], eax
jge 0x4efbf7
cmp dword [ebp - 0x5a8], 0
jne 0x4efa0e
mov eax, dword [ebp - 0x5b8]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
jne 0x4efa0e
mov edx, dword [ebp - 0x41c]
add edx, 0x40
mov eax, dword [ebp - 0x5e4]
mov byte [ebp + eax - 0x59c], dl
mov ecx, dword [ebp - 0x5e4]
add ecx, 1
mov dword [ebp - 0x5e4], ecx
jmp 0x4efa48
mov eax, dword [ebp - 0x5b8]
cdq
mov ecx, 0xd
idiv ecx
test edx, edx
jne 0x4efa48
mov edx, dword [ebp - 0x41c]
sub edx, dword [ebp - 0x5a8]
mov eax, dword [ebp - 0x5e4]
mov byte [ebp + eax - 0x59c], dl
mov ecx, dword [ebp - 0x5e4]
add ecx, 1
mov dword [ebp - 0x5e4], ecx
cmp dword [ebp - 0x5e4], 0xb
jne 0x4efab8
mov edx, dword [ebp - 0x5e4]
mov byte [ebp + edx - 0x59c], 0xf
mov eax, dword [ebp - 0x5e4]
add eax, 1
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x5e4]
mov byte [ebp + ecx - 0x59c], 0
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
lea eax, [ebp - 0x5e0]
push eax
call fcn.004f1bfc
add esp, 4
mov ecx, dword [ebp - 0x5e4]
mov byte [ebp + ecx - 0x59c], al
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
jmp 0x4efafb
cmp dword [ebp - 0x5e4], 0x1a
jne 0x4efafb
mov eax, dword [ebp - 0x5e4]
mov byte [ebp + eax - 0x59c], 0
mov ecx, dword [ebp - 0x5e4]
add ecx, 1
mov dword [ebp - 0x5e4], ecx
mov edx, dword [ebp - 0x5e4]
mov byte [ebp + edx - 0x59c], 0
mov eax, dword [ebp - 0x5e4]
add eax, 1
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x5b8]
cmp ecx, dword [ebp - 0x55c]
jge 0x4efb60
mov edx, dword [ebp - 0x5e4]
mov eax, dword [ebp - 0x5b8]
mov cl, byte [ebp + eax*2 - 0x554]
mov byte [ebp + edx - 0x59c], cl
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
mov eax, dword [ebp - 0x5e4]
mov ecx, dword [ebp - 0x5b8]
mov dl, byte [ebp + ecx*2 - 0x553]
mov byte [ebp + eax - 0x59c], dl
mov eax, dword [ebp - 0x5e4]
add eax, 1
mov dword [ebp - 0x5e4], eax
jmp 0x4efbf2
mov ecx, dword [ebp - 0x5b8]
cmp ecx, dword [ebp - 0x55c]
jne 0x4efbaa
mov edx, dword [ebp - 0x5e4]
mov byte [ebp + edx - 0x59c], 0
mov eax, dword [ebp - 0x5e4]
add eax, 1
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x5e4]
mov byte [ebp + ecx - 0x59c], 0
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
jmp 0x4efbf2
mov eax, dword [ebp - 0x5b8]
cmp eax, dword [ebp - 0x55c]
jle 0x4efbf2
mov ecx, dword [ebp - 0x5e4]
mov byte [ebp + ecx - 0x59c], 0xff
mov edx, dword [ebp - 0x5e4]
add edx, 1
mov dword [ebp - 0x5e4], edx
mov eax, dword [ebp - 0x5e4]
mov byte [ebp + eax - 0x59c], 0xff
mov ecx, dword [ebp - 0x5e4]
add ecx, 1
mov dword [ebp - 0x5e4], ecx
jmp 0x4ef9a2
push 0x20
lea edx, [ebp - 0x59c]
push edx
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5c0]
add ecx, eax
push ecx
call fcn.0054c7e0
add esp, 0xc
mov edx, dword [ebp - 0x5e8]
add edx, 0x20
mov dword [ebp - 0x5e8], edx
jmp 0x4ef94a
cmp dword [ebp - 0x450], 0
je 0x4efc59
mov eax, dword [ebp - 0x43c]
push eax
push 0
mov ecx, dword [ebp - 0x5bc]
push ecx
call fcn.0054bf90
add esp, 0xc
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x5a8], 0
jmp 0x4efc74
mov edx, dword [ebp - 0x5a8]
add edx, 0x20
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp - 0x5a8]
cmp eax, dword [ebp - 0x43c]
jge 0x4eff3d
mov dword [ebp - 0x2640], 0
mov ecx, dword [ebp - 0x5bc]
add ecx, dword [ebp - 0x5a8]
xor edx, edx
mov dl, byte [ecx]
test edx, edx
je 0x4efcc0
mov eax, dword [ebp - 0x5bc]
add eax, dword [ebp - 0x5a8]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0xe5
jne 0x4eff38
mov dword [ebp - 0x2640], 0
mov edx, dword [ebp - 0x5a8]
add edx, 0x20
mov dword [ebp - 0x2644], edx
jmp 0x4efcea
mov eax, dword [ebp - 0x2644]
add eax, 0x20
mov dword [ebp - 0x2644], eax
mov ecx, dword [ebp - 0x2644]
cmp ecx, dword [ebp - 0x43c]
jge 0x4efd6a
mov edx, dword [ebp - 0x5bc]
add edx, dword [ebp - 0x2644]
xor eax, eax
mov al, byte [edx]
test eax, eax
je 0x4efd24
mov ecx, dword [ebp - 0x5bc]
add ecx, dword [ebp - 0x2644]
xor edx, edx
mov dl, byte [ecx]
cmp edx, 0xe5
jne 0x4efd5b
mov eax, dword [ebp - 0x2640]
add eax, 1
mov dword [ebp - 0x2640], eax
mov ecx, dword [ebp - 0x2640]
shl ecx, 5
cmp ecx, dword [ebp - 0x5b0]
jl 0x4efd59
mov byte [ebp - 0x440], 1
mov edx, dword [ebp - 0x5a8]
mov dword [ebp - 0x5e8], edx
jmp 0x4efd6a
jmp 0x4efd65
mov dword [ebp - 0x2640], 0
jmp 0x4efcdb
mov eax, dword [ebp - 0x440]
and eax, 0xff
test eax, eax
je 0x4efd7e
jmp 0x4eff3d
mov ecx, dword [ebp - 0x2640]
shl ecx, 5
push ecx
push 0xe5
mov edx, dword [ebp - 0x5bc]
add edx, dword [ebp - 0x5a8]
push edx
call fcn.0054bf90
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x718c], 2
jne 0x4efe2b
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
je 0x4efddb
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
sub eax, 2
mov ecx, dword [ebp + 8]
imul eax, dword [ecx + 0x6cec]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x6ce8]
add ecx, eax
mov dword [ebp - 0x275c], ecx
jmp 0x4efdea
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6ce4]
mov dword [ebp - 0x275c], eax
push 0
push 0
push 0x80
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cc4]
push edx
push 0x2a
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x5bc]
push ecx
mov edx, dword [ebp - 0x275c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
jmp 0x4eff38
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x718c], 0x32
jne 0x4efeb4
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
je 0x4efe64
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub ecx, 3
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x6cec]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x6ce8]
add edx, ecx
mov dword [ebp - 0x2760], edx
jmp 0x4efe73
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6ce4]
mov dword [ebp - 0x2760], ecx
push 0
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cc4]
push eax
push 0x2a
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x5bc]
push edx
mov eax, dword [ebp - 0x2760]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
jmp 0x4eff38
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 0x16
jne 0x4eff38
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x4efeed
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sub edx, 2
mov eax, dword [ebp + 8]
imul edx, dword [eax + 0x6cec]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6ce8]
add eax, edx
mov dword [ebp - 0x2764], eax
jmp 0x4efefc
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6ce4]
mov dword [ebp - 0x2764], edx
push 0
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cc4]
push ecx
push 0x2a
mov edx, dword [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x5bc]
push eax
mov ecx, dword [ebp - 0x2764]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
jmp 0x4efc65
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x4efff2
mov ecx, dword [ebp - 0x440]
and ecx, 0xff
test ecx, ecx
jne 0x4efff2
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 0x16
jne 0x4efff2
mov eax, dword [ebp - 0x5bc]
push eax
call fcn.0054ccb2
add esp, 4
cmp dword [ebp - 0x5c0], 0
je 0x4eff9e
mov ecx, dword [ebp - 0x5c0]
push ecx
call fcn.0054ccb2
add esp, 4
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 0x26b0], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x454]
call fcn.0056206c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5ac]
call fcn.0056206c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.0056206c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.0056206c
mov eax, dword [ebp - 0x26b0]
jmp 0x4f1bed
mov edx, dword [ebp - 0x440]
and edx, 0xff
test edx, edx
jne 0x4f0b4b
mov eax, dword [ebp + 8]
cmp dword [eax + 0x718c], 2
jne 0x4f04ff
mov word [ebp - 0x2648], 2
mov dword [ebp - 0x5a8], 3
jmp 0x4f003a
mov ecx, dword [ebp - 0x5a8]
add ecx, 1
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cf0]
shl eax, 9
cmp dword [ebp - 0x5a8], eax
jge 0x4f04fa
mov ecx, dword [ebp - 0x2648]
and ecx, 0xffff
and ecx, reloc.WSOCK32.dll_accept
jns 0x4f006b
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
je 0x4f00d8
mov eax, dword [ebp - 0x2648]
and eax, 0xffff
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x6cfc]
xor edx, edx
mov dl, byte [ecx + eax + 1]
shl edx, 8
mov word [ebp - 0x264c], dx
mov eax, dword [ebp - 0x2648]
and eax, 0xffff
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0xf0
sar ecx, 4
mov dx, word [ebp - 0x264c]
add dx, cx
mov word [ebp - 0x264c], dx
jmp 0x4f013f
mov eax, dword [ebp - 0x2648]
and eax, 0xffff
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
and ecx, 0xf
shl ecx, 8
mov word [ebp - 0x264c], cx
mov eax, dword [ebp - 0x2648]
and eax, 0xffff
imul eax, eax, 3
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x6cfc]
xor edx, edx
mov dl, byte [ecx + eax]
and edx, 0xff
mov ax, word [ebp - 0x264c]
add ax, dx
mov word [ebp - 0x264c], ax
mov ecx, dword [ebp - 0x264c]
and ecx, 0xffff
test ecx, ecx
jne 0x4f041e
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
and eax, reloc.WSOCK32.dll_accept
jns 0x4f0164
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x4f01e6
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 + 0x6cfc]
xor edx, edx
mov dl, byte [ecx + eax]
mov ecx, edx
and ecx, 0xf
mov edx, dword [ebp - 0x2648]
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 + 0x6cfc]
mov byte [edx + eax], cl
mov ecx, dword [ebp - 0x2648]
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 + 0x6cfc]
mov byte [edx + eax + 1], cl
jmp 0x4f0265
mov ecx, dword [ebp - 0x2648]
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 + 0x6cfc]
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 + 0x6cfc]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
and ecx, 0xf0
mov edx, dword [ebp - 0x2648]
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 + 0x6cfc]
mov byte [edx + eax + 1], cl
mov eax, dword [ebp - 0x2648]
and eax, 0xffff
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov word [ebp - 0x2648], 0xfff
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
and eax, reloc.WSOCK32.dll_accept
jns 0x4f028f
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x4f0311
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 + 0x6cfc]
xor edx, edx
mov dl, byte [ecx + eax]
mov ecx, edx
and ecx, 0xf
mov edx, dword [ebp - 0x2648]
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 + 0x6cfc]
mov byte [edx + eax], cl
mov ecx, dword [ebp - 0x2648]
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 + 0x6cfc]
mov byte [edx + eax + 1], cl
jmp 0x4f037f
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 + 0x6cfc]
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 + 0x6cfc]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
and ecx, 0xf0
mov edx, dword [ebp - 0x2648]
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 + 0x6cfc]
mov byte [edx + eax + 1], cl
mov eax, dword [ebp - 0x43c]
push eax
push 0
mov ecx, dword [ebp - 0x5bc]
push ecx
call fcn.0054bf90
add esp, 0xc
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
je 0x4f03c4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub ecx, 2
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x6cec]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x6ce8]
add edx, ecx
mov dword [ebp - 0x2768], edx
jmp 0x4f03d3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6ce4]
mov dword [ebp - 0x2768], ecx
push 0
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cc4]
push eax
push 0x2a
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x5bc]
push edx
mov eax, dword [ebp - 0x2768]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x5e8], 0
jmp 0x4f04fa
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cf0]
shl eax, 9
sub eax, 2
cmp dword [ebp - 0x5a8], eax
jne 0x4f04be
mov ecx, dword [ebp - 0x5bc]
push ecx
call fcn.0054ccb2
add esp, 4
cmp dword [ebp - 0x5c0], 0
je 0x4f046a
mov edx, dword [ebp - 0x5c0]
push edx
call fcn.0054ccb2
add esp, 4
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 0x26b4], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x454]
call fcn.0056206c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5ac]
call fcn.0056206c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.0056206c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.0056206c
mov eax, dword [ebp - 0x26b4]
jmp 0x4f1bed
mov eax, dword [ebp - 0x5a8]
and eax, reloc.WSOCK32.dll_closesocket
jns 0x4f04d0
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x4f04e3
mov ecx, dword [ebp - 0x5a8]
add ecx, 1
mov dword [ebp - 0x5a8], ecx
mov dx, word [ebp - 0x2648]
add dx, 1
mov word [ebp - 0x2648], dx
jmp 0x4f002b
jmp 0x4f0aab
mov eax, dword [ebp + 8]
cmp dword [eax + 0x718c], 0x32
jne 0x4f0908
mov dword [ebp - 0x5a8], 0xc
jmp 0x4f052a
mov ecx, dword [ebp - 0x5a8]
add ecx, 4
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cf0]
shl eax, 9
cmp dword [ebp - 0x5a8], eax
jge 0x4f0903
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
mov eax, dword [ebp - 0x5a8]
xor ecx, ecx
mov cl, byte [edx + eax]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
mov edx, dword [ebp - 0x5a8]
xor ebx, ebx
mov bl, byte [eax + edx + 1]
shl ebx, 8
or ecx, ebx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x6cfc]
mov eax, dword [ebp - 0x5a8]
xor ebx, ebx
mov bl, byte [edx + eax + 2]
shl ebx, 0x10
or ecx, ebx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
mov edx, dword [ebp - 0x5a8]
xor ebx, ebx
mov bl, byte [eax + edx + 3]
shl ebx, 0x18
or ecx, ebx
mov dword [ebp - 0x2650], ecx
cmp dword [ebp - 0x2650], 0
jne 0x4f085e
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x4f063e
mov eax, dword [ebp - 0x5a8]
cdq
and edx, 3
add eax, edx
sar eax, 2
and eax, 0xff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
mov byte [edx + 8], al
mov eax, dword [ebp - 0x5a8]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
mov byte [edx + 9], al
mov eax, dword [ebp - 0x5a8]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 0x10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
mov byte [edx + 0xa], al
mov eax, dword [ebp - 0x5a8]
cdq
and edx, 3
add eax, edx
sar eax, 2
sar eax, 0x18
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
mov byte [edx + 0xb], al
jmp 0x4f06cf
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [ecx + edx*4], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [edx + ecx*4 + 1], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [ecx + edx*4 + 2], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [edx + ecx*4 + 3], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [ecx + edx*4], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [edx + ecx*4 + 1], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [ecx + edx*4 + 2], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [edx + ecx*4 + 3], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [edx + eax*4], 0xff
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
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 + 0x6cfc]
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 + 0x6cfc]
mov byte [edx + eax*4 + 3], 0xf
push 0
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cc4]
push ecx
push 0x2a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cf0]
shl eax, 9
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cdc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
push 0
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cc4]
push ecx
push 0x2a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cf0]
shl eax, 9
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6ce0]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x450], 1
jmp 0x4f0903
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cf0]
shl ecx, 9
sub ecx, 3
cmp dword [ebp - 0x5a8], ecx
jne 0x4f08fe
mov edx, dword [ebp - 0x5bc]
push edx
call fcn.0054ccb2
add esp, 4
cmp dword [ebp - 0x5c0], 0
je 0x4f08aa
mov eax, dword [ebp - 0x5c0]
push eax
call fcn.0054ccb2
add esp, 4
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 0x26b8], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x454]
call fcn.0056206c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5ac]
call fcn.0056206c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.0056206c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.0056206c
mov eax, dword [ebp - 0x26b8]
jmp 0x4f1bed
jmp 0x4f051b
jmp 0x4f0aab
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x718c], 0x16
jne 0x4f0aab
mov dword [ebp - 0x5a8], 4
jmp 0x4f0933
mov edx, dword [ebp - 0x5a8]
add edx, 2
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cf0]
shl ecx, 9
cmp dword [ebp - 0x5a8], ecx
jge 0x4f0aab
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
mov ecx, dword [ebp - 0x5a8]
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
mov eax, dword [ebp - 0x5a8]
xor ebx, ebx
mov bl, byte [ecx + eax + 1]
shl ebx, 8
or edx, ebx
mov word [ebp - 0x2654], dx
mov ecx, dword [ebp - 0x2654]
and ecx, 0xffff
test ecx, ecx
jne 0x4f0aa6
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [edx + ecx*2], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [ecx + edx*2 + 1], al
mov eax, dword [ebp - 0x5a8]
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 + 0x6cfc]
mov byte [eax + ecx*2], 0xff
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
mov byte [ecx + edx*2 + 1], 0xff
push 0
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cc4]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cf0]
shl edx, 9
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cdc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
push 0
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cc4]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cf0]
shl edx, 9
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6ce0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x450], 1
jmp 0x4f0aab
jmp 0x4f0924
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cf0]
shl eax, 9
sub eax, 2
cmp dword [ebp - 0x5a8], eax
jne 0x4f0b4b
mov ecx, dword [ebp - 0x5bc]
push ecx
call fcn.0054ccb2
add esp, 4
cmp dword [ebp - 0x5c0], 0
je 0x4f0af7
mov edx, dword [ebp - 0x5c0]
push edx
call fcn.0054ccb2
add esp, 4
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 0x26bc], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x454]
call fcn.0056206c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5ac]
call fcn.0056206c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.0056206c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.0056206c
mov eax, dword [ebp - 0x26bc]
jmp 0x4f1bed
jmp 0x4ef141
mov eax, dword [ebp - 0x5b0]
sub eax, 0x20
push eax
mov ecx, dword [ebp - 0x5c0]
push ecx
mov edx, dword [ebp - 0x5bc]
add edx, dword [ebp - 0x5e8]
push edx
call fcn.0054c7e0
add esp, 0xc
mov eax, dword [ebp - 0x5b0]
mov ecx, dword [ebp - 0x5e8]
lea edx, [ecx + eax - 0x20]
mov dword [ebp - 0x5e8], edx
cmp dword [ebp - 0x5c0], 0
je 0x4f0bae
mov eax, dword [ebp - 0x5c0]
push eax
call fcn.0054ccb2
add esp, 4
mov dword [ebp - 0x5c0], 0
push 0x40
push 0
lea ecx, [ebp - 0x59c]
push ecx
call fcn.0054bf90
add esp, 0xc
mov dword [ebp - 0x5a8], 0
jmp 0x4f0bdc
mov edx, dword [ebp - 0x5a8]
add edx, 1
mov dword [ebp - 0x5a8], edx
cmp dword [ebp - 0x5a8], 0xb
jge 0x4f0c01
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [ebp - 0x5a8]
mov dl, byte [ebp + ecx - 0x5e0]
mov byte [ebp + eax - 0x59c], dl
jmp 0x4f0bcd
mov byte [ebp - 0x591], 0x10
mov eax, dword [ebp - 0x25f8]
and eax, 1
test eax, eax
je 0x4f0c2a
mov ecx, dword [ebp - 0x591]
and ecx, 0xff
or ecx, 1
mov byte [ebp - 0x591], cl
mov edx, dword [ebp - 0x25f8]
and edx, 2
test edx, edx
je 0x4f0c4a
mov eax, dword [ebp - 0x591]
and eax, 0xff
or al, 2
mov byte [ebp - 0x591], al
cmp dword [ebp - 0x44c], 0
je 0x4f0c5c
mov byte [ebp - 0x590], 0
jmp 0x4f0c63
mov byte [ebp - 0x590], 0x18
mov byte [ebp - 0x58f], 0
mov byte [ebp - 0x588], 0
mov byte [ebp - 0x587], 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 - 0x25f4]
push ecx
lea edx, [ebp - 0x448]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x25f4]
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 - 0x558], 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 - 0x5ec], eax
mov eax, dword [ebp - 0x558]
and eax, 0xff
mov byte [ebp - 0x58e], al
mov ecx, dword [ebp - 0x558]
sar ecx, 8
and ecx, 0xff
mov byte [ebp - 0x58d], cl
mov edx, dword [ebp - 0x5ec]
and edx, 0xff
mov byte [ebp - 0x58c], dl
mov eax, dword [ebp - 0x5ec]
sar eax, 8
and eax, 0xff
mov byte [ebp - 0x58b], 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 - 0x25f4]
push ecx
lea edx, [ebp - 0x448]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x25f4]
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 - 0x5ec], edx
mov edx, dword [ebp - 0x5ec]
and edx, 0xff
mov byte [ebp - 0x58a], dl
mov eax, dword [ebp - 0x5ec]
sar eax, 8
and eax, 0xff
mov byte [ebp - 0x589], 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 - 0x25f4]
push ecx
lea edx, [ebp - 0x448]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x25f4]
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 - 0x558], 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 - 0x5ec], eax
mov eax, dword [ebp - 0x558]
and eax, 0xff
mov byte [ebp - 0x586], al
mov ecx, dword [ebp - 0x558]
sar ecx, 8
and ecx, 0xff
mov byte [ebp - 0x585], cl
mov edx, dword [ebp - 0x5ec]
and edx, 0xff
mov byte [ebp - 0x584], dl
mov eax, dword [ebp - 0x5ec]
sar eax, 8
and eax, 0xff
mov byte [ebp - 0x583], al
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x718c], 2
jne 0x4f106d
mov dword [ebp - 0x2658], 2
mov dword [ebp - 0x5a8], 3
jmp 0x4f0f3b
mov edx, dword [ebp - 0x5a8]
add edx, 1
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cf0]
shl ecx, 9
cmp dword [ebp - 0x5a8], ecx
jge 0x4f1068
mov eax, dword [ebp - 0x2658]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
je 0x4f0fbf
mov edx, dword [ebp - 0x2658]
imul edx, edx, 3
shr edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
xor eax, eax
mov al, byte [ecx + edx + 1]
shl eax, 8
mov word [ebp - 0x265c], ax
mov ecx, dword [ebp - 0x2658]
imul ecx, ecx, 3
shr ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
xor edx, edx
mov dl, byte [eax + ecx]
and edx, 0xf0
sar edx, 4
mov ax, word [ebp - 0x265c]
add ax, dx
mov word [ebp - 0x265c], ax
jmp 0x4f1016
mov ecx, dword [ebp - 0x2658]
imul ecx, ecx, 3
shr ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
xor edx, edx
mov dl, byte [eax + ecx + 1]
and edx, 0xf
shl edx, 8
mov word [ebp - 0x265c], dx
mov eax, dword [ebp - 0x2658]
imul eax, eax, 3
shr eax, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
xor ecx, ecx
mov cl, byte [edx + eax]
and ecx, 0xff
mov dx, word [ebp - 0x265c]
add dx, cx
mov word [ebp - 0x265c], dx
mov eax, dword [ebp - 0x265c]
and eax, 0xffff
test eax, eax
jne 0x4f1033
mov ecx, dword [ebp - 0x2658]
mov dword [ebp - 0x214], ecx
jmp 0x4f1068
mov eax, dword [ebp - 0x5a8]
cdq
mov ecx, 3
idiv ecx
test edx, edx
je 0x4f1054
mov edx, dword [ebp - 0x5a8]
add edx, 1
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp - 0x2658]
add eax, 1
mov dword [ebp - 0x2658], eax
jmp 0x4f0f2c
jmp 0x4f11db
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x718c], 0x32
jne 0x4f1142
mov dword [ebp - 0x5a8], 0xc
jmp 0x4f1098
mov edx, dword [ebp - 0x5a8]
add edx, 4
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cf0]
shl ecx, 9
cmp dword [ebp - 0x5a8], ecx
jge 0x4f113d
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
mov ecx, dword [ebp - 0x5a8]
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
mov eax, dword [ebp - 0x5a8]
xor ebx, ebx
mov bl, byte [ecx + eax + 1]
shl ebx, 8
or edx, ebx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6cfc]
mov ecx, dword [ebp - 0x5a8]
xor ebx, ebx
mov bl, byte [eax + ecx + 2]
shl ebx, 0x10
or edx, ebx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
mov eax, dword [ebp - 0x5a8]
xor ebx, ebx
mov bl, byte [ecx + eax + 3]
shl ebx, 0x18
or edx, ebx
mov dword [ebp - 0x2660], edx
cmp dword [ebp - 0x2660], 0
jne 0x4f1138
mov eax, dword [ebp - 0x5a8]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x214], eax
jmp 0x4f113d
jmp 0x4f1089
jmp 0x4f11db
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x718c], 0x16
jne 0x4f11db
mov dword [ebp - 0x5a8], 4
jmp 0x4f116d
mov edx, dword [ebp - 0x5a8]
add edx, 2
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cf0]
shl ecx, 9
cmp dword [ebp - 0x5a8], ecx
jge 0x4f11db
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
mov ecx, dword [ebp - 0x5a8]
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
mov eax, dword [ebp - 0x5a8]
xor ebx, ebx
mov bl, byte [ecx + eax + 1]
shl ebx, 8
or edx, ebx
mov word [ebp - 0x2664], dx
mov ecx, dword [ebp - 0x2664]
and ecx, 0xffff
test ecx, ecx
jne 0x4f11d9
mov eax, dword [ebp - 0x5a8]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x214], eax
jmp 0x4f11db
jmp 0x4f115e
mov edx, dword [ebp - 0x214]
sar edx, 0x10
and edx, 0xff
mov byte [ebp - 0x588], dl
mov eax, dword [ebp - 0x214]
sar eax, 0x18
and eax, 0xff
mov byte [ebp - 0x587], al
mov ecx, dword [ebp - 0x214]
and ecx, 0xff
mov byte [ebp - 0x582], cl
mov edx, dword [ebp - 0x214]
sar edx, 8
and edx, 0xff
mov byte [ebp - 0x581], dl
mov eax, dword [ebp - 0x5a4]
and eax, 0xff
mov byte [ebp - 0x580], al
mov ecx, dword [ebp - 0x5a4]
sar ecx, 8
and ecx, 0xff
mov byte [ebp - 0x57f], cl
mov edx, dword [ebp - 0x5a4]
sar edx, 0x10
and edx, 0xff
mov byte [ebp - 0x57e], dl
mov eax, dword [ebp - 0x5a4]
sar eax, 0x18
and eax, 0xff
mov byte [ebp - 0x57d], al
push 0x20
lea ecx, [ebp - 0x59c]
push ecx
mov edx, dword [ebp - 0x5bc]
add edx, dword [ebp - 0x5e8]
push edx
call fcn.0054c7e0
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x718c], 2
jne 0x4f1321
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
je 0x4f12d1
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
sub eax, 2
mov ecx, dword [ebp + 8]
imul eax, dword [ecx + 0x6cec]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x6ce8]
add ecx, eax
mov dword [ebp - 0x276c], ecx
jmp 0x4f12e0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6ce4]
mov dword [ebp - 0x276c], eax
push 0
push 0
push 0x80
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cc4]
push edx
push 0x2a
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x5bc]
push ecx
mov edx, dword [ebp - 0x276c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
jmp 0x4f142e
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x718c], 0x32
jne 0x4f13aa
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
je 0x4f135a
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
sub ecx, 3
mov edx, dword [ebp + 8]
imul ecx, dword [edx + 0x6cec]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x6ce8]
add edx, ecx
mov dword [ebp - 0x2770], edx
jmp 0x4f1369
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6ce4]
mov dword [ebp - 0x2770], ecx
push 0
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cc4]
push eax
push 0x2a
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x5bc]
push edx
mov eax, dword [ebp - 0x2770]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
jmp 0x4f142e
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 0x16
jne 0x4f142e
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
je 0x4f13e3
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sub edx, 2
mov eax, dword [ebp + 8]
imul edx, dword [eax + 0x6cec]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6ce8]
add eax, edx
mov dword [ebp - 0x2774], eax
jmp 0x4f13f2
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6ce4]
mov dword [ebp - 0x2774], edx
push 0
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cc4]
push ecx
push 0x2a
mov edx, dword [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x5bc]
push eax
mov ecx, dword [ebp - 0x2774]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cec]
shl ecx, 9
push ecx
call fcn.0054cfd4
add esp, 4
mov dword [ebp - 0x5b4], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cec]
shl eax, 9
push eax
push 0
mov ecx, dword [ebp - 0x5b4]
push ecx
call fcn.0054bf90
add esp, 0xc
mov dword [ebp - 0x5a8], 0
jmp 0x4f1482
mov edx, dword [ebp - 0x5a8]
add edx, 1
mov dword [ebp - 0x5a8], edx
cmp dword [ebp - 0x5a8], 2
jge 0x4f1835
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax], 0x2e
cmp dword [ebp - 0x5a8], 0
je 0x4f14c1
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 1], 0x2e
jmp 0x4f14d5
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 1], 0x20
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 2], 0x20
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 3], 0x20
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 4], 0x20
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 5], 0x20
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 6], 0x20
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 7], 0x20
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 8], 0x20
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 9], 0x20
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0xa], 0x20
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 0xb], 0x10
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 0xc], 0
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0xd], 0x63
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 0xe], 0x62
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 0xf], 0x5a
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x10], 0xe5
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 0x11], 0x32
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 0x12], 0xe5
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x13], 0x32
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 0x14], 0
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 0x15], 0
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x16], 0x63
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 0x17], 0x5a
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 0x18], 0xe5
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x19], 0x32
cmp dword [ebp - 0x5a8], 0
je 0x4f1753
mov eax, dword [ebp + 8]
cmp dword [eax + 0x718c], 0x32
jne 0x4f170f
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sar edx, 0x10
and edx, 0xff
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 0x14], dl
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
sar eax, 0x18
and eax, 0xff
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x15], al
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
and ecx, 0xff
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 0x1a], cl
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sar edx, 8
and edx, 0xff
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 0x1b], dl
jmp 0x4f17e0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 0x32
jne 0x4f17a1
mov eax, dword [ebp - 0x214]
sar eax, 0x10
and eax, 0xff
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x14], al
mov eax, dword [ebp - 0x214]
sar eax, 0x18
and eax, 0xff
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x15], al
mov eax, dword [ebp - 0x214]
and eax, 0xff
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x1a], al
mov eax, dword [ebp - 0x214]
sar eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x1b], al
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 0x1c], 0
mov edx, dword [ebp - 0x5a8]
shl edx, 5
mov eax, dword [ebp - 0x5b4]
mov byte [eax + edx + 0x1d], 0
mov ecx, dword [ebp - 0x5a8]
shl ecx, 5
mov edx, dword [ebp - 0x5b4]
mov byte [edx + ecx + 0x1e], 0
mov eax, dword [ebp - 0x5a8]
shl eax, 5
mov ecx, dword [ebp - 0x5b4]
mov byte [ecx + eax + 0x1f], 0
jmp 0x4f1473
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 2
jne 0x4f18a0
push 0
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cc4]
push ecx
push 0x2a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cec]
shl eax, 9
push eax
mov ecx, dword [ebp - 0x5b4]
push ecx
mov edx, dword [ebp - 0x214]
sub edx, 2
mov eax, dword [ebp + 8]
imul edx, dword [eax + 0x6cec]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6ce8]
add eax, edx
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
jmp 0x4f196e
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 0x32
jne 0x4f1908
push 0
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cc4]
push ecx
push 0x2a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cec]
shl eax, 9
push eax
mov ecx, dword [ebp - 0x5b4]
push ecx
mov edx, dword [ebp - 0x214]
sub edx, 3
mov eax, dword [ebp + 8]
imul edx, dword [eax + 0x6cec]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6ce8]
add eax, edx
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
jmp 0x4f196e
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 0x16
jne 0x4f196e
push 0
push 0
push 0x80
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cc4]
push ecx
push 0x2a
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cec]
shl eax, 9
push eax
mov ecx, dword [ebp - 0x5b4]
push ecx
mov edx, dword [ebp - 0x214]
sub edx, 2
mov eax, dword [ebp + 8]
imul edx, dword [eax + 0x6cec]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6ce8]
add eax, edx
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x718c], 2
jne 0x4f1a6a
mov eax, dword [ebp - 0x214]
and eax, reloc.WSOCK32.dll_accept
jns 0x4f1990
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x4f19fd
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 + 0x6cfc]
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 + 0x6cfc]
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 + 0x6cfc]
mov byte [edx + eax + 1], 0xff
jmp 0x4f1a65
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 + 0x6cfc]
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 + 0x6cfc]
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 + 0x6cfc]
mov byte [edx + eax + 1], cl
jmp 0x4f1afa
mov eax, dword [ebp + 8]
cmp dword [eax + 0x718c], 0x32
jne 0x4f1ac7
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
mov eax, dword [ebp - 0x214]
mov byte [edx + eax*4], 0xff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
mov eax, dword [ebp - 0x214]
mov byte [edx + eax*4 + 1], 0xff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
mov eax, dword [ebp - 0x214]
mov byte [edx + eax*4 + 2], 0xff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cfc]
mov eax, dword [ebp - 0x214]
mov byte [edx + eax*4 + 3], 0xf
jmp 0x4f1afa
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x718c], 0x16
jne 0x4f1afa
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
mov ecx, dword [ebp - 0x214]
mov byte [eax + ecx*2], 0xff
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cfc]
mov ecx, dword [ebp - 0x214]
mov byte [eax + ecx*2 + 1], 0xff
push 0
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cc4]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cf0]
shl edx, 9
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cdc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
push 0
push 0
push 0x80
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6cc4]
push eax
push 0x2a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x6cf0]
shl edx, 9
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x6cfc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6ce0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x418], eax
mov edx, dword [ebp - 0x5b4]
push edx
call fcn.0054ccb2
add esp, 4
mov eax, dword [ebp - 0x5bc]
push eax
call fcn.0054ccb2
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x454]
call fcn.0056206c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5ac]
call fcn.0056206c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x420]
call fcn.0056206c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.0056206c
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret