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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x504e56
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x3f8
push esi
mov esi, ecx
mov byte [ebp - 0x15], dl
mov dword [ebp - 0x158], esi
push edi
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 4
lea ecx, [esi + 8]
push 0
mov byte [esi], 0
call fcn.00467810
sub esp, 8
mov byte [ebp - 4], 5
mov eax, esp
mov dword [ebp - 0x1c], 1
lea ecx, [ebp - 0x108]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.00463c50
add esp, 8
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x60], 0x434e474b
mov dword [ebp - 0x5c], 0x1005f45
nop dword [eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 6
jb 0x420c30
lea eax, [ebp - 0x60]
mov byte [ebp - 0x59], 0
push eax
mov ecx, esi
call fcn.00469ec0
mov byte [ebp - 4], 5
mov edi, eax
mov cl, byte [ebp - 0x108]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
mov byte [ebp - 0x108], dl
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x108]
mov dword [edi + 8], eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], esi
call fcn.004638b0
push 0x104
lea eax, [ebp - 0x408]
push 0
push eax
call fcn.004df090
add esp, 0xc
lea eax, [ebp - 0x408]
push eax
movzx eax, byte [ebp - 0x15]
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 - 0x408]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420cd3
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebx + 0x34]
sub eax, edx
cmp eax, ecx
jb 0x4233a7
cmp dword [ebx + 0x38], 0x10
lea eax, [ebx + 0x24]
push edx
cmovae eax, dword [ebx + 0x24]
push eax
push ecx
lea eax, [ebp - 0x408]
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf4]
call fcn.0046d850
mov esi, 0x40000001
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 7
xor edi, edi
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x44], edi
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xac], edi
cmp byte [ebx + 8], 0
mov byte [ebp - 4], 8
jne 0x421176
sub esp, 0x18
lea eax, [ebp - 0xf4]
mov ecx, esp
push eax
call fcn.00465e10
push edi
mov dl, 1
lea ecx, [ebp - 0xd0]
call fcn.00420780
add esp, 0x1c
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 9
call fcn.00464a50
test eax, eax
jne 0x420dc2
call fcn.00468000
lea ecx, [ebp - 0xb4]
call fcn.00468000
lea ecx, [ebp - 0xf4]
call fcn.00402660
lea ecx, [ebx + 0xc]
call fcn.00402660
lea ecx, [ebx + 0x24]
call fcn.00402660
lea ecx, [ebx + 0x3c]
call fcn.00402660
lea ecx, [ebx + 0x54]
call fcn.00402660
jmp 0x42338e
mov esi, dword [ebp - 0xd0]
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0xcc]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x421162
xor eax, eax
mov dword [ebp - 0x58], eax
add eax, esi
mov word [ebp - 0x23], 0x5c
lea ecx, [ebp - 0x23]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x21], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420e06
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x4233a7
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x23]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x90]
call fcn.0046d850
mov eax, dword [ebp - 0x14]
or eax, 0x10000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov esi, esp
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x20], esi
push dword [ebp - 0x28]
call fcn.00465b90
xorps xmm0, xmm0
lea ecx, [ebp - 0x40]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
xor dl, dl
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
push 0
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
or eax, 0x20000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00420780
add esp, 0x1c
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x420f03
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x420ef9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov ecx, dword [ebp - 0x3c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x40]
sub ecx, esi
imul ecx
mov dword [ebp - 0x80], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x7c], 0xf
shr eax, 0x1f
mov byte [ebp - 0x90], 0
add eax, edx
je 0x421066
xor ecx, ecx
mov dword [ebp - 0x34], ecx
test eax, eax
je 0x421066
xor eax, eax
mov dword [ebp - 0x78], eax
nop dword [eax]
cmp dword [ebx + 0x50], 0x10
lea ecx, [esi + eax]
mov eax, dword [ecx + 0x10]
lea esi, [ebx + 0x3c]
cmovae esi, dword [ebx + 0x3c]
cmp dword [ecx + 0x14], 0x10
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0xf8], esi
jb 0x420f75
mov ecx, dword [ecx]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebx + 0x4c]
cmp edx, eax
ja 0x42103a
sub eax, edx
test edx, edx
je 0x4210b1
movsx edx, byte [esi]
inc eax
add eax, ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.004e0880
mov edi, eax
add esp, 0xc
test edi, edi
je 0x421037
nop dword [eax]
mov ecx, esi
mov edx, edi
mov esi, dword [ebx + 0x4c]
sub esi, 4
jb 0x420fd1
nop dword [eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x420fd6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x420fc0
cmp esi, 0xfffffffc
je 0x42100a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x421003
cmp esi, 0xfffffffd
je 0x42100a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x421003
cmp esi, 0xfffffffe
je 0x42100a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x421003
cmp esi, 0xffffffff
je 0x42100a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x42100a
sbb eax, eax
or eax, 1
jmp 0x42100c
xor eax, eax
test eax, eax
je 0x4210a9
mov eax, dword [ebp - 0x28]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x30]
push edi
call fcn.004e0880
mov esi, dword [ebp - 0xf8]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x420fb0
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x40]
sub ecx, esi
inc dword [ebp - 0x34]
add dword [ebp - 0x78], 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x78]
jb 0x420f50
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 9
call fcn.00468000
mov ecx, dword [ebp - 0xcc]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xd0]
sub ecx, esi
inc dword [ebp - 0x74]
add dword [ebp - 0x58], 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x74], eax
jae 0x421162
mov eax, dword [ebp - 0x58]
jmp 0x420df1
sub edi, dword [ebp - 0x70]
cmp edi, 0xffffffff
je 0x421037
mov ecx, dword [ebp - 0x44]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xb4]
xor edi, edi
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x28], eax
je 0x42111b
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x30], ecx
mov edx, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x4210ed
mov eax, dword [ecx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x4210f7
mov ecx, dword [esi]
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.00475b50
add esp, 8
test al, al
jne 0x421037
mov ecx, dword [ebp - 0x30]
inc edi
add esi, 0x18
mov edx, dword [ecx + 0x10]
cmp edi, dword [ebp - 0x28]
jb 0x4210e3
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x44]
push eax
cmp edi, dword [ebp - 0xac]
je 0x421148
mov ecx, edi
call fcn.00465e10
add edi, 0x18
mov dword [ebp - 0x44], edi
mov dword [ebp - 0xb0], edi
jmp 0x42103a
push edi
lea ecx, [ebp - 0xb4]
call fcn.00472b20
mov edi, dword [ebp - 0xb0]
mov dword [ebp - 0x44], edi
jmp 0x42103a
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 8
call fcn.00468000
mov esi, dword [ebp - 0x14]
jmp 0x4211b1
push 0x5204b8
lea ecx, [ebp - 0x1a8]
call fcn.00402700
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0xb4]
call fcn.00464ab0
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 8
call fcn.00402660
mov edi, dword [ebp - 0xb0]
mov ecx, edi
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xb4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x421275
push 0x5204b8
lea ecx, [ebp - 0x90]
call fcn.00402700
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x90]
push eax
cmp edi, dword [ebp - 0xac]
je 0x421228
push dword [ebp - 0x20]
mov ecx, edi
call fcn.004027f0
movups xmm0, xmmword [ebp - 0x90]
mov ecx, 0xf
mov byte [ebp - 0x90], 0
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x80]
movq qword [edi + 0x10], xmm0
add edi, 0x18
mov dword [ebp - 0xb0], edi
jmp 0x42123d
push edi
lea ecx, [ebp - 0xb4]
call fcn.00472a00
mov edi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x7c]
mov byte [ebp - 4], 8
cmp ecx, 0x10
jb 0x421275
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42126b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
lea ecx, [ebp - 0x23]
mov word [ebp - 0x23], 0x5c
mov byte [ebp - 0x21], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421285
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x4233b1
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x23]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x90]
call fcn.0046d850
or esi, 0x1000000
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0xf
lea edx, [ebx + 0x54]
mov eax, dword [ebp - 0x80]
sub esp, 0x18
cmp dword [ebx + 0x68], 0x10
mov esi, esp
mov ecx, dword [ebx + 0x64]
cmovae edx, dword [ebx + 0x54]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], ecx
push ecx
push edx
cmp ecx, eax
ja 0x421346
mov eax, dword [ebp - 0x34]
lea esi, [ebp - 0x90]
add eax, ecx
cmp dword [ebp - 0x7c], 0x10
mov dword [ebp - 0x80], eax
cmovae esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x34]
add eax, esi
push eax
call fcn.004deb10
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov ecx, dword [ebp - 0x34]
add eax, esi
mov esi, dword [ebp - 0x30]
mov byte [eax + ecx], 0
lea eax, [ebp - 0x90]
jmp 0x421359
mov byte [ebp - 0x28], 0
push dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x90]
call fcn.0046bc40
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov esi, dword [ebp - 0x14]
or esi, 0x2000000
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
call fcn.0040bf00
add esp, 0x18
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x7c]
test al, al
sete al
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x4213eb
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4213de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233b6
push ecx
push edx
call fcn.004dd0b2
mov al, byte [ebp - 0x15]
add esp, 8
test al, al
je 0x42149c
movaps xmm0, xmmword [0x526350]
lea ecx, [ebp - 0xa2]
movups xmmword [ebp - 0xa2], xmm0
mov word [ebp - 0x92], 0x100
call fcn.0040ee10
mov esi, eax
sub esp, 0x18
mov ecx, esi
mov dword [ebp - 0x28], esp
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421422
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x4233bb
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
push esi
push edx
push eax
push ecx
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
call fcn.0046d850
call fcn.0040bf00
add esp, 0x18
test al, al
je 0x421499
movaps xmm0, xmmword [str.kGJKG_KIC]
lea ecx, [ebp - 0x135]
movups xmmword [ebp - 0x135], xmm0
mov byte [ebp - 0x125], 1
call fcn.0040ee40
push eax
lea ecx, [ebx + 0x54]
call fcn.00465c30
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x23]
mov word [ebp - 0x23], 0x5c
mov byte [ebp - 0x21], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4214b0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x4233c0
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x23]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x90]
call fcn.0046d850
or esi, 0x8000000
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x10
lea edx, [ebx + 0x54]
mov eax, dword [ebp - 0x80]
sub esp, 0x18
cmp dword [ebx + 0x68], 0x10
mov esi, esp
mov ecx, dword [ebx + 0x64]
cmovae edx, dword [ebx + 0x54]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], ecx
push ecx
push edx
cmp ecx, eax
ja 0x42156a
mov esi, dword [ebp - 0x70]
cmp dword [ebp - 0x7c], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x90]
cmovae eax, dword [ebp - 0x90]
add esi, eax
push esi
call fcn.004deb10
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov byte [esi + eax], 0
lea eax, [ebp - 0x90]
mov esi, dword [ebp - 0x30]
jmp 0x42157d
mov byte [ebp - 0x28], 0
push dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x90]
call fcn.0046bc40
xorps xmm0, xmm0
lea ecx, [ebp - 0x258]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
or eax, 0x4000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.0040b8e0
add esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x421609
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4215ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233c5
push ecx
push edx
call fcn.004dd0b2
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x80], 0
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x248], 0
je 0x4217ac
sub esp, 0x28
lea edx, [ebp - 0x258]
mov eax, esp
lea ecx, [ebp - 0x190]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.0046a250
add esp, 0x30
mov byte [ebp - 4], 0x14
xor ecx, ecx
mov dword [ebp - 0x6a], 0x49765b48
mov dword [ebp - 0x66], 0x5a5d5559
mov word [ebp - 0x62], 0x100
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x6a], al
inc ecx
cmp ecx, 8
jb 0x421677
lea eax, [ebp - 0x6a]
mov byte [ebp - 0x61], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.00469ec0
cmp byte [eax], 0
je 0x42179d
lea ecx, [ebp - 0x3e]
mov dword [ebp - 0x3e], 0x49765b48
mov dword [ebp - 0x3a], 0x5a5d5559
mov word [ebp - 0x36], 0x100
call fcn.0040ee70
push eax
lea ecx, [ebp - 0x190]
call fcn.00469ec0
lea ecx, [ebp - 0x53]
mov dword [ebp - 0x53], 0x584a4642
mov esi, eax
mov dword [ebp - 0x4f], 0x4b595c52
mov dword [ebp - 0x4b], 0x575a6f4b
mov word [ebp - 0x47], 0x4a
mov byte [ebp - 0x45], 1
call fcn.0040a710
push eax
mov ecx, esi
call fcn.00469ec0
cmp byte [eax], 0
je 0x42179d
lea ecx, [ebp - 0x3e]
mov dword [ebp - 0x3e], 0x49765b48
mov dword [ebp - 0x3a], 0x5a5d5559
mov word [ebp - 0x36], 0x100
call fcn.0040ee70
push eax
lea ecx, [ebp - 0x190]
call fcn.00469ec0
lea ecx, [ebp - 0x53]
mov dword [ebp - 0x53], 0x584a4642
mov esi, eax
mov dword [ebp - 0x4f], 0x4b595c52
mov dword [ebp - 0x4b], 0x575a6f4b
mov word [ebp - 0x47], 0x4a
mov byte [ebp - 0x45], 1
call fcn.0040a710
push eax
mov ecx, esi
call fcn.00469ec0
lea ecx, [ebp - 0x180]
push ecx
mov ecx, eax
call fcn.0046a000
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1a8]
call fcn.00402540
push eax
lea ecx, [ebp - 0x90]
call fcn.00465c90
lea ecx, [ebp - 0x1a8]
call fcn.00402660
lea ecx, [ebp - 0x180]
call fcn.00402660
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x13
call fcn.004638b0
mov esi, dword [ebp - 0xb4]
mov eax, 0x2aaaaaab
sub edi, esi
xor ecx, ecx
imul edi
mov dword [ebp - 0x58], ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x20], eax
je 0x4231bb
cmp byte [ebx + 8], 0
je 0x421810
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
movups xmmword [ebp - 0x13c], xmm0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
mov byte [ebp - 4], 0x16
lea esi, [ebp - 0x13c]
mov edi, dword [ebp - 0x14]
or edi, 2
jmp 0x42187f
lea eax, [ecx + ecx*2]
mov word [ebp - 0x23], 0x5c
lea edx, [esi + eax*8]
mov byte [ebp - 0x21], 0
mov esi, dword [edx + 0x10]
lea ecx, [ebp - 0x23]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421830
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x4233a7
cmp dword [edx + 0x14], 0x10
jb 0x421850
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x23]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x180]
call fcn.0046d850
mov edi, dword [ebp - 0x14]
or edi, 0x40000
lea esi, [ebp - 0x180]
mov dword [ebp - 4], 0x17
or edi, 4
lea ecx, [ebp - 0xd3]
mov dword [ebp - 0x1c], edi
mov word [ebp - 0xd3], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0xd1], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4218a0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x4233a7
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xd3]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x154]
call fcn.0046d850
or edi, 0x200
mov dword [ebp - 0x1c], edi
push esi
lea eax, [ebp - 0x154]
mov dword [ebp - 4], 0x18
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa8]
call fcn.0046d660
or edi, 0x400
mov dword [ebp - 0x1c], edi
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov esi, esp
lea eax, [ebx + 0x54]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x2c], esi
push eax
call fcn.00465b90
xorps xmm0, xmm0
or edi, 0x800
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.0040bf00
add esp, 0x18
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x94]
test al, al
sete byte [ebp - 0x15]
cmp ecx, 0x10
jb 0x4219c2
mov edx, dword [ebp - 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4219b8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp ecx, 0x10
jb 0x421a1b
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421a11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov dword [ebp - 4], 0x16
mov eax, dword [ebp - 0x14]
test al, 4
je 0x421a6f
mov ecx, dword [ebp - 0x16c]
and eax, 0xfffffffb
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x421a6f
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421a62
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 4], 0x13
test al, 2
je 0x421abd
mov ecx, dword [ebp - 0x128]
and eax, 0xfffffffd
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x421abd
mov edx, dword [ebp - 0x13c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421ab3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
cmp byte [ebp - 0x15], 0
je 0x421dea
xor ecx, ecx
cmp byte [ebx + 8], cl
je 0x421b64
movaps xmm0, xmmword [str.kGJKG_KIC]
movups xmmword [ebp - 0x135], xmm0
mov byte [ebp - 0x125], 1
nop word [eax + eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x135], al
inc ecx
cmp ecx, 0xf
jb 0x421af0
xorps xmm0, xmm0
mov byte [ebp - 0x125], 0
lea ecx, [ebp - 0x135]
mov dword [ebp - 0x144], 0
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x140], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421b30
sub ecx, edx
lea eax, [ebp - 0x135]
push ecx
push eax
lea ecx, [ebp - 0x154]
call fcn.00402830
mov byte [ebp - 4], 0x1a
lea esi, [ebp - 0x154]
mov edi, dword [ebp - 0x14]
or edi, 8
mov dword [ebp - 0x1c], edi
jmp 0x421c0d
movaps xmm0, xmmword [0x526350]
movups xmmword [ebp - 0xa2], xmm0
mov word [ebp - 0x92], 0x100
nop dword [eax + eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xa2], al
inc ecx
cmp ecx, 0x10
jb 0x421b80
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xb4]
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 - 0xa2]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421bb4
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x4233a7
cmp dword [edx + 0x14], 0x10
jb 0x421bd4
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0xa2]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1a8]
call fcn.0046d850
mov eax, dword [ebp - 0x14]
or eax, 0x800000
or eax, 0x10
mov dword [ebp - 4], 0x1b
lea esi, [ebp - 0x1a8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov edi, eax
lea ecx, [ebp - 0xd9]
mov word [ebp - 0xd9], 0x5c
mov byte [ebp - 0xd7], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421c26
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x4233a7
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xd9]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x180]
call fcn.0046d850
or edi, 0x100000
mov dword [ebp - 0x1c], edi
sub esp, 0x18
mov dword [ebp - 4], 0x1c
mov ecx, esp
lea eax, [ebp - 0x180]
mov dword [ebp - 0x2c], ecx
push esi
push eax
push dword [ebp - 0x20]
call fcn.0046d660
or edi, 0x200000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
call fcn.0040bf00
mov byte [ebp - 4], 0x1b
add esp, 0x18
mov ecx, dword [ebp - 0x16c]
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x421cee
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421ce4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x14]
test al, 0x10
je 0x421d42
mov ecx, dword [ebp - 0x194]
and eax, 0xffffffef
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x421d42
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421d35
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 4], 0x13
test al, 8
je 0x421d90
mov ecx, dword [ebp - 0x140]
and eax, 0xfffffff7
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x421d90
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x421d86
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
cmp byte [ebp - 0x15], 0
je 0x421dea
movaps xmm0, xmmword [str.kGJKG_KIC]
xor ecx, ecx
movups xmmword [ebp - 0x135], xmm0
mov byte [ebp - 0x125], 1
nop dword [eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x135], al
inc ecx
cmp ecx, 0xf
jb 0x421db0
lea ecx, [ebp - 0x135]
mov byte [ebp - 0x125], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421dd1
sub ecx, edx
lea eax, [ebp - 0x135]
push ecx
push eax
lea ecx, [ebx + 0x54]
call fcn.004659f0
cmp byte [ebx + 8], 0
je 0x421e2d
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov byte [ebp - 4], 0x1d
lea esi, [ebp - 0x154]
mov edi, dword [ebp - 0x14]
or edi, 0x20
mov dword [ebp - 0x1c], edi
jmp 0x421eb9
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xb4]
mov word [ebp - 0xd6], 0x5c
mov byte [ebp - 0xd4], 0
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*8 + 0x10]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0xd6]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421e60
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x4233a7
cmp dword [edx + 0x14], 0x10
jb 0x421e80
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0xd6]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x180]
call fcn.0046d850
mov eax, dword [ebp - 0x14]
or eax, 0x400000
or eax, 0x40
mov dword [ebp - 4], 0x1e
lea esi, [ebp - 0x180]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov edi, eax
lea ecx, [ebp - 0x73]
mov word [ebp - 0x73], 0x5c
mov byte [ebp - 0x71], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421ed0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x4233a7
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x73]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1a8]
call fcn.0046d850
or edi, 0x20000
mov dword [ebp - 0x1c], edi
push esi
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 0x1f
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa8]
call fcn.0046d660
or edi, 0x10000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
sub esp, 0x18
mov byte [ebp - 4], 0x20
mov edi, esp
lea edx, [ebx + 0x54]
mov dword [ebp - 0x2c], edi
cmp dword [ebx + 0x68], 0x10
mov ecx, dword [ebx + 0x64]
cmovae edx, dword [ebx + 0x54]
mov eax, dword [ebp - 0x94]
mov esi, dword [ebp - 0x98]
sub eax, esi
mov dword [ebp - 0x30], ecx
push ecx
push edx
cmp ecx, eax
ja 0x421fb2
cmp dword [ebp - 0x94], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xa8]
cmovae eax, dword [ebp - 0xa8]
add esi, eax
push esi
call fcn.004deb10
mov eax, dword [ebp - 0x30]
add esp, 0xc
mov byte [esi + eax], 0
lea eax, [ebp - 0xa8]
jmp 0x421fcb
mov byte [ebp - 0x210], 0
push dword [ebp - 0x210]
push ecx
lea ecx, [ebp - 0xa8]
call fcn.0046bc40
xorps xmm0, xmm0
lea ecx, [ebp - 0x280]
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
or eax, 0x8000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.0040b8e0
add esp, 0x18
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x94]
cmp ecx, 0x10
jb 0x42205a
mov edx, dword [ebp - 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422050
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x194]
cmp ecx, 0x10
jb 0x4220b3
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4220a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x14]
test al, 0x40
je 0x422104
mov ecx, dword [ebp - 0x16c]
and eax, 0xffffffbf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x422104
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4220f7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
mov eax, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 0x25
test al, 0x20
je 0x42214f
mov ecx, dword [ebp - 0x140]
and eax, 0xffffffdf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42214f
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422145
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x214], 0xf
xor esi, esi
movups xmmword [ebp - 0x228], xmm0
mov dword [ebp - 0x218], esi
mov byte [ebp - 0x228], 0
mov byte [ebp - 4], 0x26
cmp dword [ebp - 0x270], esi
je 0x422367
cmp dword [ebp - 0x80], esi
jne 0x422367
sub esp, 0x28
lea edx, [ebp - 0x280]
mov eax, esp
lea ecx, [ebp - 0x268]
push esi
push 1
mov dword [eax + 0x24], esi
call fcn.0046a250
add esp, 0x30
mov byte [ebp - 4], 0x27
xor ecx, ecx
mov dword [ebp - 0x124], 0x49765b48
mov dword [ebp - 0x120], 0x5a5d5559
mov word [ebp - 0x11c], 0x100
nop dword [eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x124], al
inc ecx
cmp ecx, 8
jb 0x4221d0
lea eax, [ebp - 0x124]
mov byte [ebp - 0x11b], 0
push eax
lea ecx, [ebp - 0x268]
call fcn.00469ec0
cmp byte [eax], 0
je 0x422354
mov dword [ebp - 0x11a], 0x49765b48
xor ecx, ecx
mov dword [ebp - 0x116], 0x5a5d5559
mov word [ebp - 0x112], 0x100
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x11a], al
inc ecx
cmp ecx, 8
jb 0x422222
lea eax, [ebp - 0x11a]
mov byte [ebp - 0x111], 0
push eax
lea ecx, [ebp - 0x268]
call fcn.00469ec0
mov edx, eax
mov dword [ebp - 0x53], 0x584a4642
mov dword [ebp - 0x4f], 0x4b595c52
xor ecx, ecx
mov dword [ebp - 0x4b], 0x575a6f4b
mov word [ebp - 0x47], 0x4a
mov byte [ebp - 0x45], 1
nop
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x53], al
inc ecx
cmp ecx, 0xd
jb 0x422270
lea eax, [ebp - 0x53]
mov byte [ebp - 0x45], 0
push eax
mov ecx, edx
call fcn.00469ec0
cmp byte [eax], 0
je 0x422354
lea ecx, [ebp - 0xce]
mov dword [ebp - 0xce], 0x49765b48
mov dword [ebp - 0xca], 0x5a5d5559
mov word [ebp - 0xc6], 0x100
call fcn.0040ee70
push eax
lea ecx, [ebp - 0x268]
call fcn.00469ec0
lea ecx, [ebp - 0x107]
mov dword [ebp - 0x107], 0x584a4642
mov esi, eax
mov dword [ebp - 0x103], 0x4b595c52
mov dword [ebp - 0xff], 0x575a6f4b
mov word [ebp - 0xfb], 0x4a
mov byte [ebp - 0xf9], 1
call fcn.0040a710
push eax
mov ecx, esi
call fcn.00469ec0
lea ecx, [ebp - 0x180]
push ecx
mov ecx, eax
call fcn.0046a000
mov edx, eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x1a8]
call fcn.00402540
push eax
lea ecx, [ebp - 0x228]
call fcn.00465c90
lea ecx, [ebp - 0x1a8]
call fcn.00402660
lea ecx, [ebp - 0x180]
call fcn.00402660
mov esi, dword [ebp - 0x218]
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x26
call fcn.004638b0
test esi, esi
jne 0x42238f
cmp dword [ebp - 0x7c], 0x10
lea eax, [ebp - 0x90]
push dword [ebp - 0x80]
cmovae eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x228]
push eax
call fcn.004659f0
mov esi, dword [ebp - 0x218]
test esi, esi
setne byte [ebp - 0x15]
cmp byte [ebx + 8], 0
je 0x4223d9
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov byte [ebp - 4], 0x29
lea esi, [ebp - 0x154]
mov edi, dword [ebp - 0x14]
or edi, 0x80
mov dword [ebp - 0x1c], edi
jmp 0x422458
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xb4]
mov word [ebp - 0x77], 0x5c
mov byte [ebp - 0x75], 0
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*8 + 0x10]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x77]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422400
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x4233a7
cmp dword [edx + 0x14], 0x10
jb 0x422420
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x77]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x180]
call fcn.0046d850
mov eax, dword [ebp - 0x14]
or eax, 0x80000
or eax, 0x100
mov dword [ebp - 4], 0x2a
lea esi, [ebp - 0x180]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov edi, eax
lea ecx, [ebp - 0x43]
mov word [ebp - 0x43], 0x5c
mov byte [ebp - 0x41], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422468
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x4233a7
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x43]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1a8]
call fcn.0046d850
or edi, 0x4000
mov dword [ebp - 0x1c], edi
push esi
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 0x2b
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa8]
call fcn.0046d660
or edi, 0x2000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 0x2c
lea ecx, [ebx + 0x3c]
cmp dword [ebx + 0x50], 0x10
mov edx, dword [ebp - 0x98]
cmovae ecx, dword [ebx + 0x3c]
mov eax, dword [ebp - 0x94]
mov edi, dword [ebx + 0x4c]
sub eax, edx
mov dword [ebp - 0x30], edx
push edi
push ecx
cmp edi, eax
ja 0x422546
cmp dword [ebp - 0x94], 0x10
lea esi, [ebp - 0xa8]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0xa8]
mov dword [ebp - 0x98], eax
lea eax, [esi + edx]
push eax
call fcn.004deb10
mov ecx, dword [ebp - 0x30]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0xa8]
jmp 0x42255f
mov byte [ebp - 0x20c], 0
lea ecx, [ebp - 0xa8]
push dword [ebp - 0x20c]
push edi
call fcn.0046bc40
mov dword [ebp - 0x1b4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1c4], xmm0
mov dword [ebp - 0x1b0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1c4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1b4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
or eax, 0x1000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x94]
cmp ecx, 0x10
jb 0x4225f1
mov edx, dword [ebp - 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4225e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x194]
cmp ecx, 0x10
jb 0x42264a
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422640
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x14]
test eax, 0x100
je 0x4226a0
mov ecx, dword [ebp - 0x16c]
and eax, 0xfffffeff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x4226a0
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422693
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
mov eax, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 0x31
test al, al
jns 0x4226ed
mov ecx, dword [ebp - 0x140]
and eax, 0xffffff7f
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x4226ed
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4226e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
cmp dword [ebp - 0x1b0], 0x10
lea ecx, [ebp - 0x1c4]
lea edx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x1c4]
call fcn.00414540
test eax, eax
jne 0x4230cf
movaps xmm0, xmmword [0x525b50]
xor ecx, ecx
movups xmmword [ebp - 0x2f9], xmm0
mov dword [ebp - 0x289], 0xa7b8b8be
movaps xmm0, xmmword [0x525860]
movups xmmword [ebp - 0x2e9], xmm0
mov dword [ebp - 0x285], 0xb4adbb
movaps xmm0, xmmword [0x525460]
movups xmmword [ebp - 0x2d9], xmm0
mov byte [ebp - 0x281], 1
movaps xmm0, xmmword [0x525890]
movups xmmword [ebp - 0x2c9], xmm0
movaps xmm0, xmmword [0x526170]
movups xmmword [ebp - 0x2b9], xmm0
movaps xmm0, xmmword [str.__6_79.:]
movups xmmword [ebp - 0x2a9], xmm0
movaps xmm0, xmmword [0x526aa0]
movups xmmword [ebp - 0x299], xmm0
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x2f9], al
inc ecx
cmp ecx, 0x77
jb 0x422790
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x70]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
lea edx, [ebp - 0x2f9]
mov byte [ebp - 0x281], 0
call fcn.004c27b0
add esp, 0x14
test eax, eax
jne 0x4230c7
mov edi, dword [ebp - 0x70]
mov ecx, edi
call fcn.0049f0e0
cmp eax, 0x64
jne 0x42304f
test edi, edi
je 0x422835
cmp dword [edi + 0x2c], 0
je 0x422810
mov eax, 2
cmp ax, word [edi + 0x30]
jae 0x422810
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x422808
push eax
call dword [0x533d30]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x50
jmp 0x42283a
mov eax, dword [edi]
test eax, eax
je 0x422835
mov eax, dword [eax + 0x44]
test eax, eax
je 0x422827
push eax
call dword [0x533d30]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.0048da80
add esp, 0xc
mov ecx, 0x51e4d8
mov dl, 1
call fcn.0049bfb0
mov dword [ebp - 0xf8], eax
test edi, edi
je 0x42289e
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x422881
cmp byte [esi + 0x1e], 0
jne 0x422864
mov eax, esi
cmp ecx, 0xc0a
jne 0x42287c
push 0
push 7
push esi
call fcn.0048da80
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x422888
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42289e
push eax
call dword [0x533d38]
add esp, 4
mov edx, 3
mov ecx, edi
call fcn.0049f610
mov edx, 3
mov dword [ebp - 0x2c], eax
mov ecx, edi
call fcn.0049f700
mov dword [ebp - 0x30], eax
test edi, edi
je 0x42290b
cmp dword [edi + 0x2c], 0
je 0x4228e6
xor eax, eax
cmp ax, word [edi + 0x30]
jae 0x4228e6
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4228e1
push eax
call dword [0x533d30]
add esp, 4
mov ecx, dword [edi + 0x2c]
jmp 0x422910
mov eax, dword [edi]
test eax, eax
je 0x42290b
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4228fd
push eax
call dword [0x533d30]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.0048da80
add esp, 0xc
mov ecx, 0x51e4d8
mov dl, 1
call fcn.0049bfb0
mov dword [ebp - 0x34], eax
test edi, edi
je 0x422974
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x422954
cmp byte [esi + 0x1e], 0
jne 0x422937
mov eax, esi
cmp ecx, 0xc0a
jne 0x42294f
push 0
push 7
push esi
call fcn.0048da80
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x42295b
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x422971
push eax
call dword [0x533d38]
add esp, 4
mov eax, dword [ebp - 0x34]
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422980
sub ecx, edx
jne 0x422a48
test edi, edi
je 0x4229e3
cmp dword [edi + 0x2c], ecx
je 0x4229be
mov eax, 1
cmp ax, word [edi + 0x30]
jae 0x4229be
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4229b6
push eax
call dword [0x533d30]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x28
jmp 0x4229e8
mov eax, dword [edi]
test eax, eax
je 0x4229e3
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4229d5
push eax
call dword [0x533d30]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.0048da80
add esp, 0xc
mov ecx, 0x51e4d8
mov dl, 1
call fcn.0049bfb0
mov dword [ebp - 0x34], eax
test edi, edi
je 0x422a48
mov esi, dword [edi]
mov eax, dword [edi + 0x64]
test esi, esi
je 0x422a2b
cmp byte [esi + 0x1e], 0
jne 0x422a0e
mov edx, esi
cmp eax, 0xc0a
jne 0x422a26
push 0
push 7
push esi
call fcn.0048da80
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [edi]
mov eax, 7
mov ecx, dword [esi + 0x18]
jmp 0x422a32
mov ecx, 0xff
mov edx, esi
and ecx, eax
mov dword [edi + 0x64], ecx
mov eax, dword [edx + 0x44]
test eax, eax
je 0x422a48
push eax
call dword [0x533d38]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
movups xmmword [ebp - 0x13c], xmm0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
push dword [ebp - 0x30]
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x154]
mov esi, dword [ebp - 0x2c]
push esi
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
call fcn.00402830
cmp byte [ebp - 0x15], 0
mov byte [ebp - 4], 0x33
je 0x422b6e
mov dword [ebp - 0xb9], 0x191951
xor ecx, ecx
mov byte [ebp - 0xb5], 1
nop
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xb9], al
inc ecx
cmp ecx, 3
jb 0x422ac0
lea eax, [ebp - 0xb9]
mov byte [ebp - 0xb5], 0
push eax
push esi
call fcn.004de700
add esp, 8
test eax, eax
jne 0x422b2c
mov dword [ebp - 0xbe], 0x181951
xor ecx, ecx
mov byte [ebp - 0xba], 1
nop
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xbe], al
inc ecx
cmp ecx, 3
jb 0x422b00
lea eax, [ebp - 0xbe]
mov byte [ebp - 0xba], 0
push eax
push esi
call fcn.004de700
add esp, 8
test eax, eax
je 0x422b6e
sub esp, 0x18
lea eax, [ebp - 0x154]
mov ecx, esp
mov dword [ebp - 0x1ac], esp
push eax
call fcn.00465e10
sub esp, 0x18
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x228]
mov ecx, esp
push eax
call fcn.00465e10
xor dl, dl
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x13c]
call fcn.004200f0
add esp, 0x30
jmp 0x422b7f
push ecx
lea edx, [ebp - 0x13c]
mov ecx, esi
call fcn.0041ffc0
add esp, 4
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x422b9b
mov ecx, eax
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422b90
sub ecx, edx
jne 0x422ba5
cmp dword [ebp - 0x30], 4
jl 0x422fc3
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x188]
push 0
mov byte [ebp - 0x190], 0
call fcn.00467810
mov eax, dword [ebp - 0x58]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0xb4]
push 0x18
lea eax, [eax + eax*2]
movq qword [ebp - 0x1d0], xmm0
mov byte [ebp - 0x1d8], 3
lea esi, [ecx + eax*8]
call fcn.004dce31
lea ecx, [ebp - 0x159]
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x238], ecx
mov dword [ebp - 0x234], eax
push esi
mov ecx, eax
mov byte [ebp - 4], 0x37
call fcn.00465e10
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x1d0], esi
mov dword [ebp - 0x1cc], eax
mov byte [ebp - 4], 0x38
xor ecx, ecx
mov dword [ebp - 0x69], 0x4c465a57
mov dword [ebp - 0x65], 0x484042
mov byte [ebp - 0x61], 1
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x69], al
inc ecx
cmp ecx, 7
jb 0x422c44
lea eax, [ebp - 0x69]
mov byte [ebp - 0x61], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.00469ec0
mov byte [ebp - 4], 0x36
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x1d8], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x164]
mov dword [ebp - 0x1d0], ecx
lea ecx, [ebp - 0x1d8]
mov dword [eax + 0xc], esi
mov dword [ebp - 0x1cc], edx
call fcn.004638b0
xorps xmm0, xmm0
mov byte [ebp - 0x1e8], 3
push 0x18
movq qword [ebp - 0x1e0], xmm0
call fcn.004dce31
mov esi, eax
add esp, 4
lea eax, [ebp - 0x15a]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], esi
mov ecx, dword [ebp - 0x34]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x39
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422cf0
sub ecx, edx
push ecx
push dword [ebp - 0x34]
mov ecx, esi
call fcn.00402830
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x1e0], esi
mov byte [ebp - 4], 0x3a
xor ecx, ecx
mov dword [ebp - 0xc3], 0x455a52
mov byte [ebp - 0xbf], 1
nop dword [eax + eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xc3], al
inc ecx
cmp ecx, 3
jb 0x422d30
lea eax, [ebp - 0xc3]
mov byte [ebp - 0xbf], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.00469ec0
mov esi, eax
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x2c]
mov cl, byte [esi]
mov byte [esi], 3
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x1e8], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x1e0], ecx
lea ecx, [ebp - 0x1e8]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x1dc], edx
call fcn.004638b0
xorps xmm0, xmm0
mov byte [ebp - 0x1f8], 3
push 0x18
movq qword [ebp - 0x1f0], xmm0
call fcn.004dce31
mov esi, eax
add esp, 4
lea eax, [ebp - 0x15b]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], esi
mov ecx, dword [ebp - 0xf8]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x3b
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x422df0
sub ecx, edx
push ecx
push dword [ebp - 0xf8]
mov ecx, esi
call fcn.00402830
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x1f0], esi
mov byte [ebp - 4], 0x3c
xor ecx, ecx
mov dword [ebp - 0x5f], 0x434e474b
mov word [ebp - 0x5b], 0x45
mov byte [ebp - 0x59], 1
nop
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x5f], al
inc ecx
cmp ecx, 5
jb 0x422e30
lea eax, [ebp - 0x5f]
mov byte [ebp - 0x59], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.00469ec0
mov esi, eax
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1ec]
mov edi, dword [ebp - 0x2c]
mov cl, byte [esi]
mov byte [esi], 3
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x1f8], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x1f0], ecx
lea ecx, [ebp - 0x1f8]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x1ec], edx
call fcn.004638b0
xorps xmm0, xmm0
mov byte [ebp - 0x208], 3
push 0x18
movq qword [ebp - 0x200], xmm0
call fcn.004dce31
mov esi, eax
add esp, 4
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0x3d
push eax
mov ecx, esi
call fcn.00465e10
mov dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 4], 0x3e
xor ecx, ecx
mov edi, dword [ebp - 0x70]
mov dword [ebp - 0x3e], 0x595a4957
mov dword [ebp - 0x3a], 0x4a5f435c
mov word [ebp - 0x36], 0x100
nop dword [eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x3e], al
inc ecx
cmp ecx, 8
jb 0x422f10
lea eax, [ebp - 0x3e]
mov byte [ebp - 0x35], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.00469ec0
mov byte [ebp - 4], 0x36
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x208], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x164]
mov dword [ebp - 0x200], ecx
lea ecx, [ebp - 0x208]
mov dword [eax + 0xc], esi
mov dword [ebp - 0x1fc], edx
call fcn.004638b0
mov dword [ebp - 0x110], 0x434e474b
xor ecx, ecx
mov dword [ebp - 0x10c], 0x1005f45
nop
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x110], al
inc ecx
cmp ecx, 6
jb 0x422f80
mov ecx, dword [ebp - 0x158]
lea eax, [ebp - 0x110]
push eax
mov byte [ebp - 0x109], 0
call fcn.00469ec0
lea ecx, [ebp - 0x190]
push ecx
mov ecx, eax
call fcn.00463230
lea ecx, [ebp - 0x190]
call fcn.004638b0
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x140]
cmp ecx, 0x10
jb 0x423001
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x422ff7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x128]
cmp ecx, 0x10
jb 0x42303f
mov edx, dword [ebp - 0x13c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423035
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov ecx, edi
call fcn.0049f0e0
cmp eax, 0x64
je 0x4227e0
test edi, edi
je 0x4230c7
mov esi, dword [edi]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x423069
push eax
call dword [0x533d30]
add esp, 4
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x30], 0
cmp eax, 0xbdf20da3
je 0x423081
cmp eax, 0x519c2973
jne 0x42308b
mov ecx, edi
call fcn.0049dee0
mov dword [ebp - 0x30], eax
mov ecx, edi
call fcn.0049e0f0
test esi, esi
je 0x4230b6
cmp byte [esi + 0x1e], 0
jne 0x4230a5
cmp dword [ebp - 0x30], 0xc0a
jne 0x4230b6
push 0
push 7
push esi
call fcn.0048da80
add esp, 0xc
mov byte [esi + 0x1e], 0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4230c7
push eax
call dword [0x533d38]
add esp, 4
mov ecx, dword [ebp - 0x28]
call fcn.00414970
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x1b0]
cmp ecx, 0x10
jb 0x42310d
mov edx, dword [ebp - 0x1c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423103
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0xf
mov byte [ebp - 0x1c4], 0
cmp ecx, 0x10
jb 0x423166
mov edx, dword [ebp - 0x228]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42315c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x26c]
cmp ecx, 0x10
jb 0x4231a4
mov edx, dword [ebp - 0x280]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42319a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ac
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov ecx, dword [ebp - 0x58]
inc ecx
mov dword [ebp - 0x58], ecx
cmp ecx, dword [ebp - 0x20]
jae 0x4231bb
mov esi, dword [ebp - 0xb4]
jmp 0x4217d3
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x4231f2
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4231e8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ca
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov ecx, dword [ebp - 0x244]
cmp ecx, 0x10
jb 0x42322c
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423222
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ca
push ecx
push edx
call fcn.004dd0b2
add esp, 8
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
call fcn.00468000
mov ecx, dword [ebp - 0xe0]
cmp ecx, 0x10
jb 0x42328c
mov edx, dword [ebp - 0xf4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423282
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ca
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov ecx, dword [ebx + 0x20]
cmp ecx, 0x10
jb 0x4232c0
mov edx, dword [ebx + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4232b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ca
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov ecx, dword [ebx + 0x38]
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0xf
mov byte [ebx + 0xc], 0
cmp ecx, 0x10
jb 0x423306
mov edx, dword [ebx + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4232fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ca
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov ecx, dword [ebx + 0x50]
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0xf
mov byte [ebx + 0x24], 0
cmp ecx, 0x10
jb 0x42334c
mov edx, dword [ebx + 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423342
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ca
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0xf
mov byte [ebx + 0x3c], 0
cmp ecx, 0x10
jb 0x42338e
mov edx, dword [ebx + 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x423384
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4233ca
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00402040
call fcn.004e2350
call fcn.00402040
call fcn.004e2350
call fcn.00402040
call fcn.00402040
call fcn.004e2350
call fcn.004e2350
int3