Function at 0x42c470
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Get common file path
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5080c0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3b0
push ebx
push esi
mov esi, ecx
mov bl, dl
mov dword [ebp - 0x1e8], esi
push edi
mov dword [ebp - 0x10], 1
mov dword [ebp - 4], 0
push ecx
call fcn.00468810
mov byte [ebp - 4], 3
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x2c], esp
sub esp, 8
mov edi, 1
mov eax, esp
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], edi
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004687e0
add esp, 8
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x81]
mov dword [ebp - 0x81], 0x9c998193
mov dword [ebp - 0x7d], 0x89979d
mov byte [ebp - 0x79], 1
call fcn.00409ee0
push eax
mov ecx, esi
call fcn.0046e710
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.00468470
push 0x104
lea eax, [ebp - 0x3b8]
push 0
push eax
call fcn.004e14f0
add esp, 0xc
lea eax, [ebp - 0x3b8]
push eax
movzx eax, bl
xor eax, edi
push 0
push 0
lea eax, [eax*2 + 0x1a]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea eax, [ebp + 0x10]
push eax
lea edx, [ebp - 0x3b8]
lea ecx, [ebp - 0x108]
call fcn.0046e4d0
add esp, 4
mov dword [ebp - 4], 5
xor ebx, ebx
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov byte [ebp - 4], 6
cmp byte [ebp + 8], bl
jne 0x42ca6b
sub esp, 0x18
lea eax, [ebp - 0x108]
mov ecx, esp
push eax
call fcn.0046a770
push ebx
mov dl, 1
lea ecx, [ebp - 0x3c]
call fcn.00420cf0
add esp, 0x1c
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 7
call fcn.004695d0
test eax, eax
jne 0x42c60c
call fcn.0046c860
lea ecx, [ebp - 0xd8]
call fcn.0046c860
lea ecx, [ebp - 0x108]
call fcn.004028d0
lea ecx, [ebp + 0x10]
call fcn.004028d0
lea ecx, [ebp + 0x28]
call fcn.004028d0
lea ecx, [ebp + 0x40]
call fcn.004028d0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x38]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x3c]
sub ecx, esi
imul ecx
mov dword [ebp - 0x94], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42c9ac
mov dword [ebp - 0x74], 0
lea esp, [esp]
cmp byte [ebp + 0xc], 0
je 0x42c669
lea ecx, [ebp - 0x21]
mov dword [ebp - 0x21], 0x8393bba8
mov dword [ebp - 0x1d], 0x9088968f
mov word [ebp - 0x19], 0x100
call fcn.0040df50
mov esi, dword [ebp - 0x3c]
mov edi, eax
jmp 0x42c66e
mov edi, 0x5222e8
add esi, dword [ebp - 0x74]
lea ecx, [ebp - 0x17]
mov word [ebp - 0x17], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x15], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c681
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xf8]
sub eax, edx
cmp eax, ecx
jb 0x42e9e3
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
jb 0x42c6b4
mov eax, dword [ebp - 0x108]
push ecx
lea ecx, [ebp - 0x17]
push ecx
push edx
push eax
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x160]
call fcn.004720e0
mov eax, dword [ebp - 0x14]
or eax, 0x40000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
push esi
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 8
call fcn.0046a4f0
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov eax, dword [ecx]
mov dword [ebp - 0x12c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x128], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x124], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x120], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x11c], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x14]
or eax, 0x80000000
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
sub esp, 0x18
mov byte [ebp - 4], 9
mov esi, esp
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x2c], esi
push edi
call fcn.0046a480
mov ecx, eax
xor dl, dl
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
mov dword [esi + 4], eax
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x14], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
lea ecx, [ebp - 0xe4]
push 0
call fcn.00420cf0
add esp, 0x1c
lea ecx, [ebp - 0x12c]
call fcn.004028d0
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0xc
call fcn.004028d0
lea ecx, [ebp - 0xe4]
call fcn.004695d0
test eax, eax
je 0x42c968
mov esi, dword [ebp - 0xe4]
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0xe0]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42c968
xor eax, eax
mov dword [ebp - 0x90], eax
jmp 0x42c840
cmp dword [ebp + 0x3c], 0x10
lea ecx, [ebp + 0x28]
lea ebx, [esi + eax]
mov dword [ebp - 0x88], ecx
jb 0x42c85b
mov ecx, dword [ebp + 0x28]
mov dword [ebp - 0x88], ecx
cmp dword [ebx + 0x14], 0x10
mov eax, dword [ebx + 0x10]
jb 0x42c866
mov ebx, dword [ebx]
mov esi, dword [ebp + 0x38]
cmp esi, eax
ja 0x42c927
sub eax, esi
test esi, esi
je 0x42c9c8
movsx ecx, byte [ecx]
inc eax
add eax, ebx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x78], eax
sub eax, ebx
push eax
push ecx
push ebx
call fcn.004e2ce0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x42c927
mov eax, dword [ebp - 0x88]
mov edx, edi
sub esi, 4
jb 0x42c8c1
mov edi, edi
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x42c8c6
add edx, 4
add eax, 4
sub esi, 4
jae 0x42c8b0
cmp esi, 0xfffffffc
je 0x42c8fa
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x42c8f3
cmp esi, 0xfffffffd
je 0x42c8fa
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x42c8f3
cmp esi, 0xfffffffe
je 0x42c8fa
mov cl, byte [edx + 2]
cmp cl, byte [eax + 2]
jne 0x42c8f3
cmp esi, 0xffffffff
je 0x42c8fa
mov cl, byte [edx + 3]
cmp cl, byte [eax + 3]
je 0x42c8fa
sbb eax, eax
or eax, 1
jmp 0x42c8fc
xor eax, eax
test eax, eax
je 0x42c9bd
mov eax, dword [ebp - 0x78]
inc edi
sub eax, edi
push eax
push dword [ebp - 0xc0]
push edi
call fcn.004e2ce0
mov esi, dword [ebp + 0x38]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x42c8a1
mov ebx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xe0]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xe4]
sub ecx, esi
inc dword [ebp - 0x8c]
add dword [ebp - 0x90], 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x90]
jb 0x42c840
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 7
call fcn.0046c860
mov ecx, dword [ebp - 0x38]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x3c]
sub ecx, esi
mov edi, dword [ebp - 0x94]
add dword [ebp - 0x74], 0x18
inc edi
imul ecx
mov dword [ebp - 0x94], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x42c640
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 6
call fcn.0046c860
jmp 0x42caa9
sub edi, ebx
cmp edi, 0xffffffff
je 0x42c927
mov ebx, dword [ebp - 0x28]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xd8]
mov ecx, ebx
sub ecx, esi
xor edi, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x78], eax
je 0x42ca2a
mov ebx, dword [ebp - 0x3c]
add ebx, dword [ebp - 0x74]
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
jb 0x42c9fd
mov eax, dword [ebx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x42ca07
mov ecx, dword [esi]
push dword [ebx + 0x10]
mov edx, dword [esi + 0x10]
push eax
call fcn.0047a4b0
add esp, 8
test al, al
jne 0x42c927
inc edi
add esi, 0x18
cmp edi, dword [ebp - 0x78]
jb 0x42c9f3
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x74]
push eax
cmp ebx, dword [ebp - 0xd0]
je 0x42ca51
mov ecx, ebx
call fcn.0046a770
add ebx, 0x18
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xd4], ebx
jmp 0x42c92a
push ebx
lea ecx, [ebp - 0xd8]
call fcn.004773f0
mov ebx, dword [ebp - 0xd4]
mov dword [ebp - 0x28], ebx
jmp 0x42c92a
push 0x5222e8
lea ecx, [ebp - 0x160]
call fcn.00402980
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0xd8]
call fcn.00469630
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 6
call fcn.004028d0
mov ebx, dword [ebp - 0xd4]
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xd8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x42cb02
push 0x5222e8
lea ecx, [ebp - 0x160]
call fcn.00402980
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0xd8]
call fcn.00469630
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 6
call fcn.004028d0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x17]
mov word [ebp - 0x17], 0x5c
mov byte [ebp - 0x15], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42cb12
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xf8]
sub eax, edx
cmp eax, ecx
jb 0x42e9e3
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
jb 0x42cb45
mov eax, dword [ebp - 0x108]
push ecx
lea ecx, [ebp - 0x17]
push ecx
push edx
push eax
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x144]
call fcn.004720e0
or edi, 0x10000000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], edi
sub esp, 0x18
mov byte [ebp - 4], 0xf
mov edi, esp
lea edx, [ebp + 0x40]
mov dword [ebp - 0x2c], edi
cmp dword [ebp + 0x54], 0x10
mov ebx, dword [ebp + 0x50]
jb 0x42cb82
mov edx, dword [ebp + 0x40]
mov esi, dword [ebp - 0x130]
mov eax, esi
mov ecx, dword [ebp - 0x134]
sub eax, ecx
cmp ebx, eax
ja 0x42cbca
lea eax, [ebx + ecx]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x144]
cmp esi, 0x10
jb 0x42cbb0
mov eax, dword [ebp - 0x144]
push ebx
lea esi, [eax + ecx]
push edx
push esi
call fcn.004e0f70
add esp, 0xc
mov byte [ebx + esi], 0
lea ecx, [ebp - 0x144]
jmp 0x42cbe1
push ebx
push edx
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0x144]
push dword [ebp - 0x78]
push ebx
call fcn.004706c0
mov ecx, eax
mov esi, dword [ebp - 0x14]
xor eax, eax
mov dword [edi], eax
or esi, 0x8000000
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov eax, dword [ecx]
mov dword [edi], eax
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
mov eax, dword [ecx + 8]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x14], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call fcn.0040a600
add esp, 0x18
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x130]
test al, al
sete bl
cmp ecx, 0x10
jb 0x42cc81
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42cc77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
test bl, bl
je 0x42cd09
sub esp, 0x18
mov dword [ebp - 0x66], 0x9499b9a8
lea ecx, [ebp - 0x66]
mov dword [ebp - 0x62], 0x89aa9599
mov dword [ebp - 0x5e], 0xd18d9b99
mov esi, esp
mov dword [ebp - 0x5a], 0x6d6d726a
mov word [ebp - 0x56], 0x100
call fcn.0040def0
push eax
lea edx, [ebp - 0x108]
mov ecx, esi
call fcn.0046e400
add esp, 4
call fcn.0040a600
add esp, 0x18
test al, al
je 0x42cd06
lea ecx, [ebp - 0x4d]
mov dword [ebp - 0x4d], 0x96959ab8
mov dword [ebp - 0x49], 0x9e88a994
mov dword [ebp - 0x45], 0x95d08e9a
mov dword [ebp - 0x41], 0x6c6e73
mov byte [ebp - 0x3d], 1
call fcn.0040df20
push eax
lea ecx, [ebp + 0x40]
call fcn.0046a590
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x17]
mov word [ebp - 0x17], 0x5c
mov byte [ebp - 0x15], 0
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42cd20
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xf8]
sub eax, edx
cmp eax, ecx
jb 0x42e9ed
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
jb 0x42cd53
mov eax, dword [ebp - 0x108]
push ecx
lea ecx, [ebp - 0x17]
push ecx
push edx
push eax
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x144]
call fcn.004720e0
or esi, 0x4000000
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov edi, esp
lea edx, [ebp + 0x40]
mov dword [ebp - 0x2c], edi
cmp dword [ebp + 0x54], 0x10
mov ebx, dword [ebp + 0x50]
jb 0x42cd90
mov edx, dword [ebp + 0x40]
mov esi, dword [ebp - 0x130]
mov eax, esi
mov ecx, dword [ebp - 0x134]
sub eax, ecx
cmp ebx, eax
ja 0x42cdd8
lea eax, [ecx + ebx]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x144]
cmp esi, 0x10
jb 0x42cdbe
mov eax, dword [ebp - 0x144]
push ebx
lea esi, [eax + ecx]
push edx
push esi
call fcn.004e0f70
add esp, 0xc
mov byte [esi + ebx], 0
lea ecx, [ebp - 0x144]
jmp 0x42cdef
push ebx
push edx
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0x144]
push dword [ebp - 0x78]
push ebx
call fcn.004706c0
mov ecx, eax
mov ebx, dword [ebp - 0x14]
xor eax, eax
mov dword [edi], eax
or ebx, 0x20000000
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov eax, dword [ecx]
mov dword [edi], eax
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
mov eax, dword [ecx + 8]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x14]
mov dword [edi + 0x14], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
lea ecx, [ebp - 0x280]
mov dword [ebp - 0x10], ebx
call fcn.00409f50
add esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x130]
cmp ecx, 0x10
jb 0x42ce8d
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ce83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9f2
push ecx
push edx
call fcn.004df511
add esp, 8
xor eax, eax
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x12c], al
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x270], eax
je 0x42d031
sub esp, 0x28
lea edx, [ebp - 0x280]
mov eax, esp
lea ecx, [ebp - 0x1f8]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.0046ea60
add esp, 0x30
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x21]
mov dword [ebp - 0x21], 0x94a9869b
mov dword [ebp - 0x1d], 0x8f8a808a
mov word [ebp - 0x19], 0x100
call fcn.0040df50
push eax
lea ecx, [ebp - 0x1f8]
call fcn.0046e710
cmp byte [eax], 0
je 0x42d022
lea ecx, [ebp - 0x21]
mov dword [ebp - 0x21], 0x94a9869b
mov dword [ebp - 0x1d], 0x8f8a808a
mov word [ebp - 0x19], 0x100
call fcn.0040df50
push eax
lea ecx, [ebp - 0x1f8]
call fcn.0046e710
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x85959b91
mov esi, eax
mov dword [ebp - 0x38], 0x9e8e8981
mov dword [ebp - 0x34], 0x9a95a298
mov word [ebp - 0x30], 0x79
mov byte [ebp - 0x2e], 1
call fcn.00408d10
push eax
mov ecx, esi
call fcn.0046e710
cmp byte [eax], 0
je 0x42d022
lea ecx, [ebp - 0x21]
mov dword [ebp - 0x21], 0x94a9869b
mov dword [ebp - 0x1d], 0x8f8a808a
mov word [ebp - 0x19], 0x100
call fcn.0040df50
push eax
lea ecx, [ebp - 0x1f8]
call fcn.0046e710
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x85959b91
mov esi, eax
mov dword [ebp - 0x38], 0x9e8e8981
mov dword [ebp - 0x34], 0x9a95a298
mov word [ebp - 0x30], 0x79
mov byte [ebp - 0x2e], 1
call fcn.00408d10
push eax
mov ecx, esi
call fcn.0046e710
lea ecx, [ebp - 0x2a8]
push ecx
mov ecx, eax
call fcn.0046e840
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x160]
call fcn.00402770
push eax
lea ecx, [ebp - 0x12c]
call fcn.0046a5f0
lea ecx, [ebp - 0x160]
call fcn.004028d0
lea ecx, [ebp - 0x2a8]
call fcn.004028d0
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0x13
call fcn.00468450
mov ecx, dword [ebp - 0x28]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xd8]
xor edi, edi
sub ecx, esi
mov dword [ebp - 0x8c], edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x2c], eax
je 0x42e836
mov edi, edi
cmp byte [ebp + 8], 0
je 0x42d08d
xor eax, eax
mov dword [ebp - 0x58], 0xf
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x6c], al
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 0x16
or ebx, 2
jmp 0x42d0f2
lea eax, [edi + edi*2]
mov word [ebp - 0x17], 0x5c
lea edx, [esi + eax*8]
mov byte [ebp - 0x15], 0
mov esi, dword [edx + 0x10]
lea ecx, [ebp - 0x17]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d0a6
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x42e9e3
cmp dword [edx + 0x14], 0x10
jb 0x42d0c6
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x17]
push eax
push esi
push edx
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x54]
call fcn.004720e0
or ebx, 0x800000
mov edi, dword [ebp - 0x8c]
lea esi, [ebp - 0x54]
mov dword [ebp - 4], 0x17
or ebx, 4
lea ecx, [ebp - 0xca]
mov dword [ebp - 0x10], ebx
mov word [ebp - 0xca], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0xc8], 0
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d110
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xf8]
sub eax, edx
cmp eax, ecx
jb 0x42e9e3
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
jb 0x42d143
mov eax, dword [ebp - 0x108]
push ecx
lea ecx, [ebp - 0xca]
push ecx
push edx
push eax
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x1cc]
call fcn.004720e0
or ebx, 0x10000
mov dword [ebp - 0x10], ebx
push esi
lea eax, [ebp - 0x1cc]
mov dword [ebp - 4], 0x18
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0xb0]
call fcn.00471ed0
or ebx, 0x20000
mov dword [ebp - 0x10], ebx
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov esi, esp
lea eax, [ebp + 0x40]
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x70], esi
push eax
call fcn.0046a4f0
mov edx, eax
or ebx, 0x40000
xor eax, eax
mov dword [ebp - 0x14], ebx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov ecx, dword [edx]
mov dword [esi], ecx
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [edx + 8]
mov dword [esi + 8], eax
mov eax, dword [edx + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov dword [ebp - 0x10], ebx
call fcn.0040a600
add esp, 0x18
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x9c]
test al, al
sete bl
cmp ecx, 0x10
jb 0x42d245
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d23b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
cmp ecx, 0x10
jb 0x42d29e
mov edx, dword [ebp - 0x1cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d294
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 4], 0x16
mov eax, dword [ebp - 0x14]
test al, 4
je 0x42d2ec
mov ecx, dword [ebp - 0x40]
and eax, 0xfffffffb
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
cmp ecx, 0x10
jb 0x42d2ec
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d2df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 4], 0x13
test al, 2
je 0x42d334
mov ecx, dword [ebp - 0x58]
and eax, 0xfffffffd
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
cmp ecx, 0x10
jb 0x42d334
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d32a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
test bl, bl
je 0x42d64e
xor ecx, ecx
cmp byte [ebp + 8], cl
je 0x42d3d3
mov dword [ebp - 0x4d], 0x96959ab8
mov dword [ebp - 0x49], 0x9e88a994
mov dword [ebp - 0x45], 0x95d08e9a
mov dword [ebp - 0x41], 0x6c6e73
mov byte [ebp - 0x3d], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x4d], al
inc ecx
cmp ecx, 0xf
jb 0x42d367
xor eax, eax
mov byte [ebp - 0x3d], 0
lea ecx, [ebp - 0x4d]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
lea edx, [ecx + 1]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d3a5
sub ecx, edx
lea eax, [ebp - 0x4d]
push ecx
push eax
lea ecx, [ebp - 0xb0]
call fcn.00402ae0
mov byte [ebp - 4], 0x1a
lea esi, [ebp - 0xb0]
mov ebx, dword [ebp - 0x14]
or ebx, 8
jmp 0x42d46f
mov dword [ebp - 0x66], 0x9499b9a8
mov dword [ebp - 0x62], 0x89aa9599
mov dword [ebp - 0x5e], 0xd18d9b99
mov dword [ebp - 0x5a], 0x6d6d726a
mov word [ebp - 0x56], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x66], al
inc ecx
cmp ecx, 0x10
jb 0x42d3f5
mov ecx, dword [ebp - 0xd8]
lea eax, [edi + edi*2]
mov esi, dword [ecx + eax*8 + 0x10]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x66]
mov byte [ebp - 0x55], 0
lea edi, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d420
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x42e9e3
cmp dword [edx + 0x14], 0x10
jb 0x42d440
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x66]
push eax
push esi
push edx
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x160]
call fcn.004720e0
mov ebx, dword [ebp - 0x14]
or ebx, 0x2000000
lea esi, [ebp - 0x160]
mov dword [ebp - 4], 0x1b
or ebx, 0x10
lea ecx, [ebp - 0xbf]
mov dword [ebp - 0x10], ebx
mov word [ebp - 0xbf], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0xbd], 0
jmp 0x42d490
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d490
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xf8]
sub eax, edx
cmp eax, ecx
jb 0x42e9e3
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
jb 0x42d4c3
mov eax, dword [ebp - 0x108]
push ecx
lea ecx, [ebp - 0xbf]
push ecx
push edx
push eax
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x1cc]
call fcn.004720e0
or ebx, 0x200000
mov dword [ebp - 0x10], ebx
sub esp, 0x18
mov dword [ebp - 4], 0x1c
mov ecx, esp
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x70], ecx
push esi
push eax
push dword [ebp + 8]
call fcn.00471ed0
or ebx, 0x400000
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
call fcn.0040a600
mov byte [ebp - 4], 0x1b
add esp, 0x18
mov ecx, dword [ebp - 0x1b8]
mov bl, al
cmp ecx, 0x10
jb 0x42d558
mov edx, dword [ebp - 0x1cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d54e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x14]
test al, 0x10
je 0x42d5ac
mov ecx, dword [ebp - 0x14c]
and eax, 0xffffffef
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
cmp ecx, 0x10
jb 0x42d5ac
mov edx, dword [ebp - 0x160]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d59f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 4], 0x13
test al, 8
je 0x42d5fa
mov ecx, dword [ebp - 0x9c]
and eax, 0xfffffff7
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
cmp ecx, 0x10
jb 0x42d5fa
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d5f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
test bl, bl
je 0x42d64e
mov dword [ebp - 0x4d], 0x96959ab8
xor ecx, ecx
mov dword [ebp - 0x49], 0x9e88a994
mov dword [ebp - 0x45], 0x95d08e9a
mov dword [ebp - 0x41], 0x6c6e73
mov byte [ebp - 0x3d], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x4d], al
inc ecx
cmp ecx, 0xf
jb 0x42d620
lea ecx, [ebp - 0x4d]
mov byte [ebp - 0x3d], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d638
sub ecx, edx
lea eax, [ebp - 0x4d]
push ecx
push eax
lea ecx, [ebp + 0x40]
call fcn.0046a350
cmp byte [ebp + 8], 0
je 0x42d699
xor eax, eax
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0xb0], al
mov byte [ebp - 4], 0x1d
lea esi, [ebp - 0xb0]
mov ebx, dword [ebp - 0x14]
or ebx, 0x20
jmp 0x42d71a
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xd8]
mov word [ebp - 0x93], 0x5c
mov byte [ebp - 0x91], 0
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*8 + 0x10]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x93]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d6c8
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x42e9e3
cmp dword [edx + 0x14], 0x10
jb 0x42d6e8
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x93]
push eax
push esi
push edx
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x1cc]
call fcn.004720e0
mov ebx, dword [ebp - 0x14]
or ebx, 0x1000000
lea esi, [ebp - 0x1cc]
mov dword [ebp - 4], 0x1e
or ebx, 0x40
lea ecx, [ebp - 0x8f]
mov dword [ebp - 0x10], ebx
mov word [ebp - 0x8f], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x8d], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d736
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xf8]
sub eax, edx
cmp eax, ecx
jb 0x42e9e3
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
jb 0x42d769
mov eax, dword [ebp - 0x108]
push ecx
lea ecx, [ebp - 0x8f]
push ecx
push edx
push eax
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x160]
call fcn.004720e0
or ebx, 0x8000
mov dword [ebp - 0x10], ebx
push esi
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0x1f
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0x6c]
call fcn.00471ed0
or ebx, 0x4000
mov dword [ebp - 0x10], ebx
sub esp, 0x18
mov byte [ebp - 4], 0x20
mov esi, esp
lea eax, [ebp + 0x40]
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x70], esi
push eax
call fcn.0046a4f0
mov edx, eax
or ebx, 0x2000
xor eax, eax
mov dword [ebp - 0x10], ebx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov ecx, dword [edx]
mov dword [esi], ecx
lea ecx, [ebp - 0x2a8]
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [edx + 8]
mov dword [esi + 8], eax
mov eax, dword [edx + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
call fcn.00409f50
add esp, 0x18
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x42d85d
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d853
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x14c]
cmp ecx, 0x10
jb 0x42d8ad
mov edx, dword [ebp - 0x160]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d8a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x24
test bl, 0x40
je 0x42d8f6
mov ecx, dword [ebp - 0x1b8]
and ebx, 0xffffffbf
mov dword [ebp - 0x10], ebx
cmp ecx, 0x10
jb 0x42d8f6
mov edx, dword [ebp - 0x1cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d8ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x25
test bl, 0x20
je 0x42d93f
mov ecx, dword [ebp - 0x9c]
and ebx, 0xffffffdf
mov dword [ebp - 0x10], ebx
cmp ecx, 0x10
jb 0x42d93f
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d935
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
xor eax, eax
mov dword [ebp - 0x224], 0xf
xor edi, edi
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], edi
mov byte [ebp - 0x238], al
mov byte [ebp - 4], 0x26
mov edx, dword [ebp - 0x11c]
cmp dword [ebp - 0x298], edi
je 0x42db4f
test edx, edx
jne 0x42db4f
sub esp, 0x28
lea ecx, [ebp - 0x290]
mov eax, esp
push edx
mov dword [eax + 0x24], edx
lea edx, [ebp - 0x2a8]
push 1
call fcn.0046ea60
add esp, 0x30
mov byte [ebp - 4], 0x27
xor ecx, ecx
mov dword [ebp - 0x112], 0x94a9869b
mov dword [ebp - 0x10e], 0x8f8a808a
mov word [ebp - 0x10a], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x112], al
inc ecx
cmp ecx, 8
jb 0x42d9d1
lea eax, [ebp - 0x112]
mov byte [ebp - 0x109], 0
push eax
lea ecx, [ebp - 0x290]
call fcn.0046e710
cmp byte [eax], 0
je 0x42db36
lea ecx, [ebp - 0xe2]
mov dword [ebp - 0xe2], 0x94a9869b
mov dword [ebp - 0xde], 0x8f8a808a
mov word [ebp - 0xda], 0x100
call fcn.0040df50
push eax
lea ecx, [ebp - 0x290]
call fcn.0046e710
lea ecx, [ebp - 0x1a3]
mov dword [ebp - 0x1a3], 0x85959b91
mov esi, eax
mov dword [ebp - 0x19f], 0x9e8e8981
mov dword [ebp - 0x19b], 0x9a95a298
mov word [ebp - 0x197], 0x79
mov byte [ebp - 0x195], 1
call fcn.00408d10
push eax
mov ecx, esi
call fcn.0046e710
cmp byte [eax], 0
je 0x42db36
lea ecx, [ebp - 0x37]
mov dword [ebp - 0x37], 0x94a9869b
mov dword [ebp - 0x33], 0x8f8a808a
mov word [ebp - 0x2f], 0x100
call fcn.0040df50
push eax
lea ecx, [ebp - 0x290]
call fcn.0046e710
lea ecx, [ebp - 0x1b2]
mov dword [ebp - 0x1b2], 0x85959b91
mov esi, eax
mov dword [ebp - 0x1ae], 0x9e8e8981
mov dword [ebp - 0x1aa], 0x9a95a298
mov word [ebp - 0x1a6], 0x79
mov byte [ebp - 0x1a4], 1
call fcn.00408d10
push eax
mov ecx, esi
call fcn.0046e710
lea ecx, [ebp - 0x1cc]
push ecx
mov ecx, eax
call fcn.0046e840
mov edx, eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x160]
call fcn.00402770
push eax
lea ecx, [ebp - 0x238]
call fcn.0046a5f0
lea ecx, [ebp - 0x160]
call fcn.004028d0
lea ecx, [ebp - 0x1cc]
call fcn.004028d0
mov edi, dword [ebp - 0x228]
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0x26
call fcn.00468450
test edi, edi
jne 0x42db79
mov edx, dword [ebp - 0x11c]
cmp dword [ebp - 0x118], 0x10
lea eax, [ebp - 0x12c]
jb 0x42db64
mov eax, dword [ebp - 0x12c]
push edx
push eax
lea ecx, [ebp - 0x238]
call fcn.0046a350
mov edi, dword [ebp - 0x228]
test edi, edi
setne byte [ebp - 0x95]
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x1f0]
push 0
mov byte [ebp - 0x1f8], 0
call fcn.0046c030
sub esp, 8
mov byte [ebp - 4], 0x2a
mov eax, esp
lea ecx, [ebp - 0x260]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004687e0
add esp, 8
mov eax, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0xd8]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
push eax
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x88], eax
call fcn.00468100
mov byte [ebp - 4], 0x2a
mov edi, eax
mov cl, byte [ebp - 0x260]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x258]
mov byte [ebp - 0x260], dl
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x260]
mov dword [edi + 8], eax
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x254], esi
call fcn.00468450
cmp byte [ebp + 0xc], 0
je 0x42dc5c
mov dword [ebp - 0x21], 0x808290ba
xor ecx, ecx
mov dword [ebp - 0x1d], 0xa7918b97
mov word [ebp - 0x19], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x21], al
inc ecx
cmp ecx, 8
jb 0x42dc45
mov byte [ebp - 0x18], 0
lea edi, [ebp - 0x21]
jmp 0x42dc61
mov edi, 0x5222e8
cmp byte [ebp + 8], 0
je 0x42dca9
xor eax, eax
mov dword [ebp - 0x9c], 0xf
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0xb0], al
lea esi, [ebp - 0xb0]
mov byte [ebp - 4], 0x2c
or ebx, 0x80
jmp 0x42dd13
mov edx, dword [ebp - 0x88]
lea ecx, [ebp - 0x73]
mov word [ebp - 0x73], 0x5c
lea esi, [ecx + 1]
mov byte [ebp - 0x71], 0
mov edx, dword [edx + 0x10]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42dcc2
mov eax, closesocket
sub ecx, esi
sub eax, edx
cmp eax, ecx
jb 0x42e9e3
mov esi, dword [ebp - 0x88]
mov eax, esi
cmp dword [esi + 0x14], 0x10
jb 0x42dcea
mov eax, dword [esi]
push ecx
lea ecx, [ebp - 0x73]
push ecx
push edx
push eax
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x54]
call fcn.004720e0
or ebx, 0x100000
lea esi, [ebp - 0x54]
mov dword [ebp - 4], 0x2d
or ebx, 0x100
lea ecx, [ebp - 0x27]
mov dword [ebp - 0x10], ebx
mov word [ebp - 0x27], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x25], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42dd26
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xf8]
sub eax, edx
cmp eax, ecx
jb 0x42e9e3
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
jb 0x42dd59
mov eax, dword [ebp - 0x108]
push ecx
lea ecx, [ebp - 0x27]
push ecx
push edx
push eax
push ecx
push dword [ebp + 8]
lea ecx, [ebp - 0x160]
call fcn.004720e0
or ebx, 0x1000
mov dword [ebp - 0x10], ebx
push esi
lea eax, [ebp - 0x160]
mov dword [ebp - 4], 0x2e
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0x1cc]
call fcn.00471ed0
or ebx, 0x800
mov dword [ebp - 0x10], ebx
push edi
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 0x2f
call fcn.0046a480
mov edx, eax
or ebx, 0x400
xor eax, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov ecx, dword [edx]
mov dword [ebp - 0x6c], ecx
mov eax, dword [edx + 4]
mov dword [ebp - 0x68], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x60], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x58], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
lea eax, [ebp + 0x28]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0x6c]
call fcn.0046a4f0
mov edx, eax
xor eax, eax
mov dword [ebp - 0x1e4], eax
or ebx, 0x200
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], eax
mov ecx, dword [edx]
mov dword [ebp - 0x1e4], ecx
mov eax, dword [edx + 4]
mov dword [ebp - 0x1e0], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x1dc], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1d8], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1d4], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x1d0], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x58]
cmp ecx, 0x10
jb 0x42dec3
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42deb9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x1b8]
cmp ecx, 0x10
jb 0x42df13
mov edx, dword [ebp - 0x1cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42df09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0xf
mov byte [ebp - 0x1cc], 0
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x14c]
cmp ecx, 0x10
jb 0x42df6c
mov edx, dword [ebp - 0x160]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42df62
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x35
test ebx, 0x100
je 0x42dfb8
mov ecx, dword [ebp - 0x40]
and ebx, 0xfffffeff
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
cmp ecx, 0x10
jb 0x42dfb8
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42dfae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x36
test bl, bl
jns 0x42e006
mov ecx, dword [ebp - 0x9c]
and ebx, 0xffffff7f
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
cmp ecx, 0x10
jb 0x42e006
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42dffc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
cmp dword [ebp - 0x1d0], 0x10
lea ecx, [ebp - 0x1e4]
jb 0x42e01b
mov ecx, dword [ebp - 0x1e4]
lea edx, [ebp - 0x78]
call fcn.00413aa0
test eax, eax
jne 0x42e6eb
mov dword [ebp - 0x194], 0xb2bab0a7
xor ecx, ecx
mov dword [ebp - 0x190], 0x88daadbb
mov dword [ebp - 0x18c], 0x96888f99
mov dword [ebp - 0x188], 0x232e6463
mov dword [ebp - 0x184], 0x75656b61
mov dword [ebp - 0x180], 0x6e7e7971
mov dword [ebp - 0x17c], 0x607a5268
mov dword [ebp - 0x178], 0x337c747b
mov dword [ebp - 0x174], 0x5a594752
mov dword [ebp - 0x170], 0x70756d38
mov dword [ebp - 0x16c], 0x6c417379
mov dword [ebp - 0x168], 0x4a545345
mov dword [ebp - 0x164], 0x1004047
nop
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x194], al
inc ecx
cmp ecx, 0x32
jb 0x42e0b0
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x24c]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
lea edx, [ebp - 0x194]
mov byte [ebp - 0x161], 0
call fcn.004c5530
add esp, 0x14
test eax, eax
jne 0x42e6e3
mov ebx, dword [ebp - 0x24c]
mov ecx, ebx
call fcn.004a2b90
cmp eax, 0x64
jne 0x42e661
jmp 0x42e110
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x210]
push 0
mov byte [ebp - 0x218], 0
call fcn.0046c030
mov byte [ebp - 4], 0x38
test ebx, ebx
je 0x42e17b
cmp dword [ebx + 0x2c], 0
je 0x42e156
xor eax, eax
cmp ax, word [ebx + 0x30]
jae 0x42e156
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42e151
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [ebx + 0x2c]
jmp 0x42e180
mov eax, dword [ebx]
test eax, eax
je 0x42e17b
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42e16d
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [ebx]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov edi, eax
test ebx, ebx
je 0x42e1e0
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x64]
test esi, esi
je 0x42e1c3
cmp byte [esi + 0x1e], 0
jne 0x42e1a6
mov eax, esi
cmp ecx, 0xc0a
jne 0x42e1be
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [ebx]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x42e1ca
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [ebx + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42e1e0
push eax
call dword [0x534f68]
add esp, 4
xor eax, eax
mov dword [ebp - 0x70], edi
lea edx, [ebp - 0x70]
mov byte [ebp - 0x208], 0
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
call fcn.0047e810
mov byte [ebp - 4], 0x39
xor ecx, ecx
mov dword [ebp - 0xed], 0x81849087
mov dword [ebp - 0xe9], 0x9f9a91
mov byte [ebp - 0xe5], 1
jmp 0x42e230
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xed], al
inc ecx
cmp ecx, 7
jb 0x42e230
lea eax, [ebp - 0xed]
mov byte [ebp - 0xe5], 0
push eax
lea ecx, [ebp - 0x218]
call fcn.0046e710
mov byte [ebp - 4], 0x38
mov edi, eax
mov cl, byte [ebp - 0x208]
mov eax, dword [ebp - 0x200]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x1fc]
mov esi, dword [edi + 0xc]
mov byte [ebp - 0x208], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x208]
mov dword [edi + 8], eax
mov dword [ebp - 0x200], edx
mov dword [ebp - 0x1fc], esi
call fcn.00468450
mov edx, 1
mov ecx, ebx
call fcn.004a3110
mov edx, 1
mov ecx, ebx
mov esi, eax
call fcn.004a3200
test eax, eax
jle 0x42e623
xor ecx, ecx
mov dword [ebp - 0x40], 0xf
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov byte [ebp - 0x54], cl
mov byte [ebp - 4], 0x3a
push eax
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0xb0]
push esi
call fcn.00402ae0
cmp byte [ebp - 0x95], 0
mov byte [ebp - 4], 0x3b
je 0x42e3dc
mov dword [ebp - 0xb5], 0xc6c482
xor ecx, ecx
mov byte [ebp - 0xb1], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xb5], al
inc ecx
cmp ecx, 3
jb 0x42e335
lea eax, [ebp - 0xb5]
mov byte [ebp - 0xb1], 0
push eax
push esi
call fcn.004e0b60
add esp, 8
test eax, eax
jne 0x42e3a0
mov dword [ebp - 0xba], 0xc7c482
xor ecx, ecx
mov byte [ebp - 0xb6], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xba], al
inc ecx
cmp ecx, 3
jb 0x42e374
lea eax, [ebp - 0xba]
mov byte [ebp - 0xb6], 0
push eax
push esi
call fcn.004e0b60
add esp, 8
test eax, eax
je 0x42e3dc
sub esp, 0x18
lea eax, [ebp - 0xb0]
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.0046a770
sub esp, 0x18
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x238]
mov ecx, esp
push eax
call fcn.0046a770
xor dl, dl
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x54]
call fcn.00420620
add esp, 0x30
jmp 0x42e3ea
push ecx
lea edx, [ebp - 0x54]
mov ecx, esi
call fcn.00420500
add esp, 4
push 0x18
mov byte [ebp - 0x248], 3
call fcn.004df290
mov edi, eax
add esp, 4
lea eax, [ebp - 0x1b3]
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x3d
push eax
mov ecx, edi
call fcn.0046a770
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x240], edi
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 0x3e
xor ecx, ecx
mov dword [ebp - 0xc7], 0x929d9a80
mov word [ebp - 0xc3], 0x96
mov byte [ebp - 0xc1], 1
lea ebx, [ebx]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xc7], al
inc ecx
cmp ecx, 5
jb 0x42e460
mov al, byte [ebp - 0x218]
mov byte [ebp - 0xc1], 0
test al, al
jne 0x42e4b0
push 1
lea ecx, [ebp - 0x220]
mov byte [ebp - 0x218], 1
call fcn.0046c030
mov esi, dword [ebp - 0x220]
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x20c], eax
jmp 0x42e4be
cmp al, 1
jne 0x42e9f7
mov esi, dword [ebp - 0x210]
xor eax, eax
lea edx, [ebp - 0xc7]
mov dword [ebp - 0x144], eax
lea ecx, [edx + 1]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
lea ecx, [ecx]
mov al, byte [edx]
inc edx
test al, al
jne 0x42e4f0
sub edx, ecx
lea eax, [ebp - 0xc7]
push edx
push eax
lea ecx, [ebp - 0x144]
call fcn.00402ae0
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 0x3f
push eax
mov ecx, esi
call fcn.00471a00
mov byte [ebp - 4], 0x3e
mov esi, eax
mov ecx, dword [ebp - 0x130]
cmp ecx, 0x10
jb 0x42e55e
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e554
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
mov al, byte [esi]
mov byte [esi], 3
mov ecx, dword [esi + 0xc]
mov byte [ebp - 0x248], al
mov eax, dword [esi + 8]
mov dword [ebp - 0x23c], ecx
lea ecx, [ebp - 0x248]
mov dword [esi + 8], edi
mov dword [esi + 0xc], edx
mov dword [ebp - 0x240], eax
call fcn.00468450
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x9c]
cmp ecx, 0x10
jb 0x42e5eb
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e5e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x42e623
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e619
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
push dword [ebp - 0x88]
lea ecx, [ebp - 0x1f8]
call fcn.00468100
lea ecx, [ebp - 0x218]
push ecx
mov ecx, eax
call fcn.00467e20
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 0x36
call fcn.00468450
mov ecx, ebx
call fcn.004a2b90
cmp eax, 0x64
je 0x42e110
test ebx, ebx
je 0x42e6e0
mov esi, dword [ebx]
mov edi, dword [esi + 0x44]
test edi, edi
je 0x42e67c
push edi
call dword [0x534f60]
add esp, 4
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x88], 0
cmp eax, 0xbdf20da3
je 0x42e697
cmp eax, 0x519c2973
jne 0x42e6a4
mov ecx, ebx
call fcn.004a1dd0
mov dword [ebp - 0x88], eax
mov ecx, ebx
call fcn.004a1f80
test esi, esi
je 0x42e6d2
cmp byte [esi + 0x1e], 0
jne 0x42e6c1
cmp dword [ebp - 0x88], 0xc0a
jne 0x42e6d2
push 0
push 7
push esi
call fcn.00492380
add esp, 0xc
mov byte [esi + 0x1e], 0
test edi, edi
je 0x42e6e0
push edi
call dword [0x534f68]
add esp, 4
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x78]
call fcn.00413f50
mov dword [ebp - 0x81], 0x9c998193
xor ecx, ecx
mov dword [ebp - 0x7d], 0x89979d
mov byte [ebp - 0x79], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x81], al
inc ecx
cmp ecx, 7
jb 0x42e702
mov esi, dword [ebp - 0x1e8]
lea eax, [ebp - 0x81]
push eax
mov ecx, esi
mov byte [ebp - 0x79], 0
call fcn.0046e710
lea ecx, [ebp - 0x1f8]
push ecx
mov ecx, eax
call fcn.00467e20
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x1d0]
cmp ecx, 0x10
jb 0x42e777
mov edx, dword [ebp - 0x1e4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e76d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
mov byte [ebp - 0x1e4], 0
call fcn.00468450
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x224]
cmp ecx, 0x10
jb 0x42e7db
mov edx, dword [ebp - 0x238]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e7d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x294]
cmp ecx, 0x10
jb 0x42e819
mov edx, dword [ebp - 0x2a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e80f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e9e8
push ecx
push edx
call fcn.004df511
add esp, 8
mov edi, dword [ebp - 0x8c]
inc edi
mov dword [ebp - 0x8c], edi
cmp edi, dword [ebp - 0x2c]
jae 0x42e83c
mov esi, dword [ebp - 0xd8]
jmp 0x42d060
mov esi, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x10
jb 0x42e876
mov edx, dword [ebp - 0x12c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e86c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ea4f
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0x10
jb 0x42e8b0
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e8a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ea4f
push ecx
push edx
call fcn.004df511
add esp, 8
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
call fcn.0046c860
mov ecx, dword [ebp - 0xf4]
cmp ecx, 0x10
jb 0x42e910
mov edx, dword [ebp - 0x108]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e906
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ea4f
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp + 0x24]
cmp ecx, 0x10
jb 0x42e944
mov edx, dword [ebp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e93a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ea4f
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp + 0x3c]
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0xf
mov byte [ebp + 0x10], 0
cmp ecx, 0x10
jb 0x42e98a
mov edx, dword [ebp + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e980
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ea4f
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp + 0x54]
mov dword [ebp + 0x38], 0
mov dword [ebp + 0x3c], 0xf
mov byte [ebp + 0x28], 0
cmp ecx, 0x10
jb 0x42e9d0
mov edx, dword [ebp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e9c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42ea4f
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00402270
call fcn.004e47b0
call fcn.00402270
call fcn.004e47b0
lea ecx, [ebp - 0x218]
call fcn.0046c340
push eax
lea ecx, [ebp - 0x160]
call fcn.00402980
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x1cc]
call fcn.0046e530
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x148]
call fcn.00407820
add esp, 4
lea eax, [ebp - 0x148]
push 0x5316e0
push eax
call fcn.004e0efb
call fcn.004e47b0
int3