Function at 0x40d840
Capabilities:
Parse pe header

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 0x5730e1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x180
push esi
push edi
push 0x1d
xorps xmm0, xmm0
mov dword [ebp - 0x180], 0
push str.enZaoSxsD5LiQlhBS4qZCAIFtJBQ
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x17c], 0
movups xmmword [ebp - 0x190], xmm0
call fcn.0042b6f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x178]
push 0x1d
xorps xmm0, xmm0
mov dword [ebp - 0x168], 0
push str.bmZazVR0SnOycapOTcwIABMFqOgA
movups xmmword [ebp - 0x178], xmm0
mov dword [ebp - 0x164], 0
call fcn.0042b6f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x160]
push 0x22
xorps xmm0, xmm0
mov dword [ebp - 0x150], 0
push str.SHYwbQSsZzXjUtKDkQ0tKRpvBLi4QlVTM7
movups xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0x14c], 0
call fcn.0042b6f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x148]
push 0x22
xorps xmm0, xmm0
mov dword [ebp - 0x138], 0
push str.dGpXgVwQP5JT4bsDj40FFQYI4OBIMbMiUH
movups xmmword [ebp - 0x148], xmm0
mov dword [ebp - 0x134], 0
call fcn.0042b6f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x130]
push 0x31
xorps xmm0, xmm0
mov dword [ebp - 0x120], 0
push str.UXB0tYyEVYBhAtHh0PLOAoRABw4emGxc45Fh0AvMAQdjDD8D
movups xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0x11c], 0
call fcn.0042b6f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x118]
push 0x27
xorps xmm0, xmm0
mov dword [ebp - 0x108], 0
push str.cHpPXeBgb9PRwHfGz0dRLxkgaFBwfZLAwZbFCg
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x104], 0
call fcn.0042b6f0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x100]
push 0x27
xorps xmm0, xmm0
mov dword [ebp - 0xf0], 0
push str.ZFRzrZRc7xFRETZNQEAvOzccpCQgxiEBENeOhQ
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0xec], 0
call fcn.0042b6f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe8]
push 0x1d
xorps xmm0, xmm0
mov dword [ebp - 0xd8], 0
push str.a05JOZQk8cJhIYFKzs69GCsowFwgm
movups xmmword [ebp - 0xe8], xmm0
mov dword [ebp - 0xd4], 0
call fcn.0042b6f0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xd0]
push 0x18
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push str.cTk4lagJchWRgSuUWcH0FFdN
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xbc], 0
call fcn.0042b6f0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xb8]
push 0x22
xorps xmm0, xmm0
mov dword [ebp - 0xa8], 0
push str.N29TseVsGRPRJoTHCYbqRBs64DUIb7OhZZ
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0xa4], 0
call fcn.0042b6f0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xa0]
push 0x22
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
push str.VFhucejYq3AQ0nlPRwl3NTsaUEyIx0GgM
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x8c], 0
call fcn.0042b6f0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x88]
push 0x18
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
push str.cmU5fZhAR9VzkKCOloKTHRZc
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x74], 0
call fcn.0042b6f0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x70]
push 0x27
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
push str.aEUxURBstGXjEEnIW4lqHTFepGx01KVSUcUIA
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0
call fcn.0042b6f0
push ecx
mov byte [ebp - 4], 0xc
mov edi, esp
mov dword [ebp - 0x1c], esp
push ecx
mov esi, esp
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x190]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40dc9e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x190]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xf
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40dbc0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x10
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40dc19
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40dc57
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dc4d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4100de
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40dc86
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
setne al
jmp 0x40dd8a
sub esp, 0x18
lea eax, [ebp - 0x190]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x11
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40dce0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x12
call fcn.0041d3f0
push 1
push 0x588ec4
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40dd55
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dd4b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4100e3
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40dd88
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov byte [0x5bbd3a], al
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x178]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40df1e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x178]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x15
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40de40
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x16
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40de99
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40ded7
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40decd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4100e8
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40df06
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
setne al
jmp 0x40e00a
sub esp, 0x18
lea eax, [ebp - 0x178]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x17
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40df60
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x18
call fcn.0041d3f0
push 1
push 0x588ec4
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40dfd5
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dfcb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4100ed
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e008
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov byte [0x5bbd38], al
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x160]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40e19e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x160]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x1b
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e0c0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x1c
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40e119
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40e157
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e14d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4100f2
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e186
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
setne al
jmp 0x40e28a
sub esp, 0x18
lea eax, [ebp - 0x160]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x1d
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e1e0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x1e
call fcn.0041d3f0
push 1
push 0x588ec4
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40e255
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e24b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4100f7
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e288
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov byte [0x5bbd3b], al
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x148]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40e41e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x148]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x21
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e340
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x22
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40e399
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40e3d7
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e3cd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4100fc
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e406
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
sete al
jmp 0x40e50a
sub esp, 0x18
lea eax, [ebp - 0x148]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x23
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e460
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x24
call fcn.0041d3f0
push 1
push 0x588ec8
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40e4d5
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e4cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410101
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e508
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov byte [0x5bbd39], al
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x130]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40e697
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x130]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x27
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e5c0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x28
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40e619
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40e657
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e64d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410106
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e686
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
jmp 0x40e77b
sub esp, 0x18
lea eax, [ebp - 0x130]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x29
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e6d3
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x2a
call fcn.0041d3f0
push 1
push 0x588ec8
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40e748
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e73e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41010b
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e77b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x118]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40e90e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x118]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x2d
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e830
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x2e
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40e889
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40e8c7
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e8bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410110
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e8f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
setne al
jmp 0x40e9fa
sub esp, 0x18
lea eax, [ebp - 0x118]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x2f
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e950
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x30
call fcn.0041d3f0
push 1
push 0x588ec4
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40e9c5
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40e9bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410115
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e9f8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov byte [0x5bbd3c], al
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x100]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40eb8e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x100]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x33
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40eab0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x34
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40eb09
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40eb47
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40eb3d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41011a
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40eb76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
setne al
jmp 0x40ec7a
sub esp, 0x18
lea eax, [ebp - 0x100]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x35
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ebd0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x36
call fcn.0041d3f0
push 1
push 0x588ec4
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40ec45
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40ec3b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41011f
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ec78
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov byte [0x5bbd3d], al
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0xe8]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40ee07
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0xe8]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x39
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ed30
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x3a
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40ed89
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40edc7
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40edbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410124
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40edf6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
jmp 0x40eeeb
sub esp, 0x18
lea eax, [ebp - 0xe8]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x3b
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ee43
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x3c
call fcn.0041d3f0
push 1
push 0x588ec4
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40eeb8
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40eeae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410129
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40eeeb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0xd0]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40f07e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0xd0]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x3f
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40efa0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x40
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40eff9
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40f037
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f02d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41012e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f066
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
sete al
jmp 0x40f16a
sub esp, 0x18
lea eax, [ebp - 0xd0]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x41
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f0c0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x42
call fcn.0041d3f0
push 1
push 0x588ec8
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40f135
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f12b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410133
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f168
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov byte [0x5bbd3e], al
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0xb8]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40f2fe
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0xb8]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x45
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f220
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x46
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40f279
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40f2b7
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f2ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410138
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f2e6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
setne al
jmp 0x40f3ea
sub esp, 0x18
lea eax, [ebp - 0xb8]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x47
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f340
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x48
call fcn.0041d3f0
push 2
push 0x58acb8
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40f3b5
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f3ab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41013d
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f3e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor al, al
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov byte [0x5c2330], al
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x49
lea eax, [ebp - 0xa0]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40f57e
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0xa0]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x4b
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f4a0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x4c
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40f4f9
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40f537
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f52d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410142
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f566
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
setne al
jmp 0x40f66a
sub esp, 0x18
lea eax, [ebp - 0xa0]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x4d
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f5c0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x4e
call fcn.0041d3f0
push 2
push 0x58acb8
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40f635
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f62b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410147
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18]
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f668
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor al, al
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov byte [0x5c2331], al
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x70]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40f92a
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x50
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x18]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x51
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f720
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x52
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40f779
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40f7b7
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f7ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41014c
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x18]
xor eax, eax
or edi, 0xffffffff
mov word [ebp - 0x34], ax
mov dword [ebp - 0x24], 0
add edx, 0xfffffff0
mov dword [ebp - 0x20], 7
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f7e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.0042c730
cmp dword [ebp - 0x38], 0
setne byte [0x5bbd3f]
call fcn.0042cbc0
mov ecx, eax
test ecx, ecx
je 0x410160
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.S2NxibxsgEMB873MAUAnOQYwOGj8MwJB8vtAgUKGOQ
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x53
call fcn.0042ce30
test al, al
jne 0x40f83f
push 0x2c
push str.S2NxibxsgEMB873MAUAnOQYwOGj8MwJB8vtAgUKGOQ
lea ecx, [ebp - 0x18]
call fcn.0042d150
mov byte [ebp - 4], 0x54
call fcn.0042cbc0
mov ecx, eax
test ecx, ecx
je 0x410151
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x40], eax
push 0x58e880
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x55
call fcn.0042ce30
test al, al
jne 0x40f883
push 1
push 0x58e880
lea ecx, [ebp - 0x40]
call fcn.0042d150
push ecx
mov byte [ebp - 4], 0x56
mov esi, esp
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x1c], eax
call fcn.0042c560
add eax, 0x10
lea ecx, [ebp - 0x14]
mov dword [esi], eax
call fcn.00443520
add esp, 4
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x57
mov ecx, eax
call fcn.0044cdf0
mov edx, dword [ebp - 0x14]
mov ecx, edi
mov byte [ebp - 0x39], al
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x40f8d8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x54
mov eax, edi
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f8f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, byte [0x5bbd3f]
test al, al
je 0x40f913
cmp byte [ebp - 0x39], 0
jne 0x40f90f
call fcn.0044d400
mov al, byte [0x5bbd3f]
test al, al
jne 0x40f91e
cmp byte [ebp - 0x39], 0
je 0x40f91e
call fcn.0044dd90
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x1c]
jmp 0x40fb1d
sub esp, 0x18
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x1c]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x58
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40f963
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x59
call fcn.0041d3f0
push 1
push 0x588ec4
mov ecx, eax
call fcn.0042bea0
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40f9d8
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40f9ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41015b
push ecx
push edx
call fcn.00547d61
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x1c]
or edi, 0xffffffff
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
mov eax, edi
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fa0d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [0x5bbd3f], 1
call fcn.0042cbc0
mov ecx, eax
test ecx, ecx
je 0x410160
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.c0J2ydiMBjNwYDwEQIZmASc3HAwctvIwYXFIwITDAQ
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x5a
call fcn.0042ce30
test al, al
jne 0x40fa54
push 0x2c
push str.c0J2ydiMBjNwYDwEQIZmASc3HAwctvIwYXFIwITDAQ
lea ecx, [ebp - 0x18]
call fcn.0042d150
mov byte [ebp - 4], 0x5b
call fcn.0042cbc0
mov ecx, eax
test ecx, ecx
je 0x41016a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x40], eax
push 0x58e880
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x5c
call fcn.0042ce30
test al, al
jne 0x40fa98
push 1
push 0x58e880
lea ecx, [ebp - 0x40]
call fcn.0042d150
push ecx
mov byte [ebp - 4], 0x5d
mov esi, esp
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.0042c560
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [esi], eax
call fcn.00443520
add esp, 4
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 0x5e
mov ecx, eax
call fcn.0044cdf0
mov edx, dword [ebp - 0x1c]
mov ecx, edi
mov byte [ebp - 0x39], al
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x40faed
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5b
mov eax, edi
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fb0b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x39], 0
jne 0x40fb16
call fcn.0044d400
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x14]
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fb31
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov dword [ebp - 0x1c], esp
mov edi, esp
push ecx
mov esi, esp
mov dword [ebp - 0x14], esi
mov ecx, dword [0x5c1b14]
lea ecx, [ecx - 0x10]
call fcn.0042c560
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00443520
sub esp, 0x18
mov byte [ebp - 4], 0x5f
lea eax, [ebp - 0x88]
mov ecx, esp
lea edi, [ebp - 0x38]
push eax
call fcn.0042c650
mov ecx, esi
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0xc
mov edx, SysReAllocString
mov ecx, edi
call fcn.00446790
add esp, 8
test al, al
je 0x40fcb0
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x58]
call fcn.0042b790
mov esi, eax
sub esp, 0x18
mov byte [ebp - 4], 0x60
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x1c]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x61
xorps xmm0, xmm0
mov ecx, dword [eax]
mov edx, ecx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea edi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x40fbe1
sub edx, edi
sar edx, 1
push edx
push ecx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x62
call fcn.0041d3f0
mov edi, eax
cmp edi, esi
je 0x40fc3a
mov ecx, edi
call fcn.0042c730
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40fc74
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fc6a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410174
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x1c]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fca3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x58]
call fcn.0042c730
jmp 0x40fd90
sub esp, 0x18
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.0042c650
lea ecx, [ebp - 0x1c]
call fcn.004430f0
add esp, 0x18
mov byte [ebp - 4], 0x63
xorps xmm0, xmm0
mov edx, dword [eax]
mov ecx, edx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40fcf0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.0042b6f0
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x64
call fcn.0041d3f0
push 1
push 0x588ec8
mov ecx, eax
call fcn.0042bea0
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jb 0x40fd61
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fd57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x410179
push ecx
push edx
call fcn.00547d61
add esp, 8
mov edx, dword [ebp - 0x1c]
xor eax, eax
mov word [ebp - 0x34], ax
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0
or eax, 0xffffffff
mov dword [ebp - 0x20], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40fd90
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x5c]
cmp ecx, 8
jb 0x40fdca
mov edx, dword [ebp - 0x70]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fdc0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0x74]
cmp ecx, 8
jb 0x40fe07
mov edx, dword [ebp - 0x88]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fdfd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0x8c]
cmp ecx, 8
jb 0x40fe47
mov edx, dword [ebp - 0xa0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fe3d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0xa4]
cmp ecx, 8
jb 0x40fe87
mov edx, dword [ebp - 0xb8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fe7d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0xbc]
cmp ecx, 8
jb 0x40fec7
mov edx, dword [ebp - 0xd0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40febd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0xd4]
cmp ecx, 8
jb 0x40ff07
mov edx, dword [ebp - 0xe8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fefd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0xec]
cmp ecx, 8
jb 0x40ff47
mov edx, dword [ebp - 0x100]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40ff3d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0x104]
cmp ecx, 8
jb 0x40ff87
mov edx, dword [ebp - 0x118]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40ff7d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0x11c]
cmp ecx, 8
jb 0x40ffc7
mov edx, dword [ebp - 0x130]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40ffbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0x134]
cmp ecx, 8
jb 0x410007
mov edx, dword [ebp - 0x148]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40fffd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0x14c]
cmp ecx, 8
jb 0x410047
mov edx, dword [ebp - 0x160]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41003d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0x164]
cmp ecx, 8
jb 0x410087
mov edx, dword [ebp - 0x178]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41007d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0x17c]
cmp ecx, 8
jb 0x4100c7
mov edx, dword [ebp - 0x190]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4100bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41017e
push ecx
push edx
call fcn.00547d61
add esp, 8
mov ecx, dword [ebp - 0xc]
xor al, al
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
push 0x80004005
call fcn.0042d130
call fcn.0054cd4f
push 0x80004005
call fcn.0042d130
push 0x80004005
call fcn.0042d130
call fcn.0054cd4f
call fcn.0054cd4f
call fcn.0054cd4f
int3