Function at 0x422280
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52f5f8
mov eax, dword fs:[0]
push eax
sub esp, 0x228
mov eax, dword [0x57a438]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0xc0]
call fcn.00426ed0
mov dword [ebp - 4], 0
mov edi, dword [eax]
mov dword [ebp - 0x50], 0x650073
mov dword [ebp - 0x4c], 0x64006e
mov dword [ebp - 0x48], 0x650020
mov dword [ebp - 0x44], 0x610076
mov dword [ebp - 0x40], 0x730020
mov dword [ebp - 0x3c], 0x610074
mov dword [ebp - 0x38], 0x74
call fcn.00407b40
push eax
push 0xd
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x30]
call fcn.004070e0
sub esp, 8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x19c]
call fcn.004093f0
mov byte [ebp - 4], 2
mov eax, 0x55fc20
mov esi, dword [ebp - 0x30]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00407550
mov eax, dword [edi]
lea ecx, [ebp - 0x19c]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
lea ecx, [ebp - 0x19c]
call fcn.0040a3e0
or ebx, 0xffffffff
mov byte [ebp - 4], 0
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x422374
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 3
mov esi, dword [ebp - 0xbc]
test esi, esi
je 0x4223a4
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x4223a4
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x4223a4
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
cmp word [0x587ff8], 0
jne 0x4223d5
push 0x104
push 0x587ff8
push 0x400000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x587ff8
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x423229
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
push 0x587ff8
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 4
call fcn.00406e80
test al, al
jne 0x42242d
mov ecx, 0x587ff8
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x422410
sub ecx, edx
sar ecx, 1
push ecx
push 0x587ff8
lea ecx, [ebp - 0x24]
call fcn.00406d90
mov dword [ebp - 4], 5
mov dword [ebp - 0x20], 0
mov dword [ebp - 0xd0], 0x750063
mov dword [ebp - 0xcc], 0x6c0072
mov dword [ebp - 0xc8], 0x65006e
mov dword [ebp - 0xc4], 0x2e0074
mov dword [ebp - 0xc0], 0x6c0064
mov dword [ebp - 0xbc], 0x6c
call fcn.00407b40
push eax
push 0xb
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x18]
call fcn.004070e0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x20]
push eax
add edx, 0xc
call fcn.00427d90
add esp, 4
mov byte [ebp - 4], 8
mov eax, ebx
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4224c5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415560
push dword [ebp - 0x20]
mov esi, eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4230af
push dword [ebp - 0x20]
mov ecx, esi
call fcn.0040dcc0
test eax, eax
je 0x4230af
call fcn.004b9f70
mov edi, eax
mov dword [ebp - 0x100], edi
test edi, edi
je 0x4231d0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.00427740
mov byte [ebp - 4], 0xd
mov dword [ebp - 0xe4], 0x65707974
mov byte [ebp - 0xe0], 0
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x423233
mov eax, dword [ecx]
push 1
push 4
call dword [eax]
test eax, eax
je 0x42323d
cmp dword [eax + 8], 4
lea esi, [eax + 0x10]
jl 0x4232b0
push 4
lea eax, [ebp - 0xe4]
mov dword [esi - 0xc], 4
push eax
push 4
push esi
mov byte [esi + 4], 0
call fcn.004173a0
push 0x560f84
call fcn.004b9fa0
push eax
push esi
push edi
call fcn.004b9ef0
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x42259c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415710
mov ecx, eax
call fcn.004a9b20
lea ecx, [ebp - 0xb4]
push 0xfde9
mov dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0xb8]
push eax
call fcn.00417480
mov byte [ebp - 4], 0xe
mov dword [ebp - 0xd4], 0x646970
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x423242
mov eax, dword [ecx]
push 1
push 3
call dword [eax]
test eax, eax
je 0x42324c
cmp dword [eax + 8], 3
lea esi, [eax + 0x10]
jl 0x4232b0
push 3
lea eax, [ebp - 0xd4]
mov dword [esi - 0xc], 3
push eax
push 3
push esi
mov byte [esi + 3], 0
call fcn.004173a0
push dword [ebp - 0xb8]
call fcn.004b9fa0
push eax
push esi
push edi
call fcn.004b9ef0
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x422648
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x422665
push eax
call fcn.0050272d
add esp, 4
call fcn.00415710
mov ecx, eax
call fcn.004a9650
lea ecx, [ebp - 0xb4]
push 0xfde9
mov dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0xb8]
push eax
call fcn.00417480
mov byte [ebp - 4], 0xf
mov dword [ebp - 0xd8], 0x64696d
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x423251
mov eax, dword [ecx]
push 1
push 3
call dword [eax]
test eax, eax
je 0x42325b
cmp dword [eax + 8], 3
lea esi, [eax + 0x10]
jl 0x4232b0
push 3
lea eax, [ebp - 0xd8]
mov dword [esi - 0xc], 3
push eax
push 3
push esi
mov byte [esi + 3], 0
call fcn.004173a0
push dword [ebp - 0xb8]
call fcn.004b9fa0
push eax
push esi
push edi
call fcn.004b9ef0
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x422711
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x42272e
push eax
call fcn.0050272d
add esp, 4
call fcn.00415710
mov ecx, eax
call fcn.004a9630
lea ecx, [ebp - 0xb4]
push 0xfde9
mov dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0xb8]
push eax
call fcn.00417480
mov byte [ebp - 4], 0x10
mov dword [ebp - 0xec], 0x3264696d
mov byte [ebp - 0xe8], 0
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x423260
mov eax, dword [ecx]
push 1
push 4
call dword [eax]
test eax, eax
je 0x42326a
cmp dword [eax + 8], 4
lea esi, [eax + 0x10]
jl 0x4232b0
push 4
lea eax, [ebp - 0xec]
mov dword [esi - 0xc], 4
push eax
push 4
push esi
mov byte [esi + 4], 0
call fcn.004173a0
push dword [ebp - 0xb8]
call fcn.004b9fa0
push eax
push esi
push edi
call fcn.004b9ef0
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4227e1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x4227fe
push eax
call fcn.0050272d
add esp, 4
push 0xfde9
push dword [ebp - 0x1c]
lea eax, [ebp - 0xb4]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
call fcn.00417480
mov byte [ebp - 4], 0x11
mov dword [ebp - 0xf4], 0x76707061
mov word [ebp - 0xf0], 0x7265
mov byte [ebp - 0xee], 0
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x42326f
mov eax, dword [ecx]
push 1
push 6
call dword [eax]
test eax, eax
je 0x423279
cmp dword [eax + 8], 6
lea esi, [eax + 0x10]
jl 0x4232b0
push 6
lea eax, [ebp - 0xf4]
mov dword [esi - 0xc], 6
push eax
push 6
push esi
mov byte [esi + 6], 0
call fcn.004173a0
push dword [ebp - 0xb8]
call fcn.004b9fa0
push eax
push esi
push edi
call fcn.004b9ef0
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4228b0
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x4228cd
push eax
call fcn.0050272d
add esp, 4
push 0xfde9
push dword [ebp - 0x1c]
lea eax, [ebp - 0xb4]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
call fcn.00417480
mov byte [ebp - 4], 0x12
mov dword [ebp - 0xfc], 0x76646f6d
mov word [ebp - 0xf8], 0x7265
mov byte [ebp - 0xf6], 0
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x42327e
mov eax, dword [ecx]
push 1
push 6
call dword [eax]
test eax, eax
je 0x423288
cmp dword [eax + 8], 6
lea esi, [eax + 0x10]
jl 0x4232b0
push 6
lea eax, [ebp - 0xfc]
mov dword [esi - 0xc], 6
push eax
push 6
push esi
mov byte [esi + 6], 0
call fcn.004173a0
push dword [ebp - 0xb8]
call fcn.004b9fa0
push eax
push esi
push edi
call fcn.004b9ef0
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x42297f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x42299c
push eax
call fcn.0050272d
add esp, 4
xor eax, eax
mov dword [ebp - 0xc8], 0x690077
mov dword [ebp - 0xc4], 0x6f006e
mov dword [ebp - 0xc0], 0x740070
mov word [ebp - 0xbc], ax
call fcn.00407b40
push eax
push 6
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x30]
call fcn.004070e0
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0xb4]
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0xb8]
push 3
push edi
mov dword [ebp - 0xb8], eax
call fcn.00417480
mov byte [ebp - 4], 0x14
mov dword [ebp - 0xdc], 0x707061
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x42328d
mov eax, dword [ecx]
push 1
push 3
call dword [eax]
test eax, eax
je 0x423297
cmp dword [eax + 8], 3
lea esi, [eax + 0x10]
jl 0x4232b0
push 3
lea eax, [ebp - 0xdc]
mov dword [esi - 0xc], 3
push eax
push 3
push esi
mov byte [esi + 3], 0
call fcn.004173a0
push dword [ebp - 0xb8]
call fcn.004b9fa0
push eax
push esi
push dword [ebp - 0x100]
call fcn.004b9ef0
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x422a83
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0xb4]
cmp eax, ecx
je 0x422a9c
push eax
call fcn.0050272d
add esp, 4
mov byte [ebp - 4], 0xd
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x422ab7
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x42329c
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0x15
mov edi, dword [ebp - 0x100]
push edi
call fcn.004ba090
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
je 0x422d05
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x4232a6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x28]
push dword [ebp - 0x14]
call fcn.00406e80
test al, al
jne 0x422b8f
push 0
push 0
push 0xffffffffffffffff
push dword [ebp - 0x14]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edi, [eax - 1]
test edi, edi
jle 0x422b81
mov ecx, dword [ebp - 0x28]
mov edx, 1
mov eax, dword [ecx - 8]
sub edx, dword [ecx - 4]
sub eax, edi
or eax, edx
jge 0x422b56
push edi
lea ecx, [ebp - 0x28]
call fcn.00407170
mov ecx, dword [ebp - 0x28]
push edi
push ecx
push 0xffffffffffffffff
push dword [ebp - 0x14]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x28]
cmp edi, dword [eax - 8]
jg 0x4232b0
mov dword [eax - 0xc], edi
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov word [eax + edi*2], cx
jmp 0x422b89
lea ecx, [ebp - 0x28]
call fcn.00407080
mov edi, dword [ebp - 0x100]
mov byte [ebp - 4], 0x17
xor eax, eax
mov dword [ebp - 0x80], 0x380030
mov dword [ebp - 0x7c], 0x610032
mov dword [ebp - 0x78], 0x330037
mov dword [ebp - 0x74], 0x620032
mov dword [ebp - 0x70], 0x65002d
mov dword [ebp - 0x6c], str.A_B
mov dword [ebp - 0x68], 0x2d0064
mov dword [ebp - 0x64], 0x360034
mov dword [ebp - 0x60], 0x620036
mov dword [ebp - 0x5c], 0x61002d
mov dword [ebp - 0x58], 0x310038
mov dword [ebp - 0x54], 0x2d0037
mov dword [ebp - 0x50], 0x630061
mov dword [ebp - 0x4c], 0x660039
mov dword [ebp - 0x48], 0x300034
mov dword [ebp - 0x44], 0x360062
mov dword [ebp - 0x40], 0x640063
mov dword [ebp - 0x3c], 0x300035
mov word [ebp - 0x38], ax
call fcn.00407b40
push eax
push 0x24
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x30]
call fcn.004070e0
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.004bee30
add esp, 0xc
mov byte [ebp - 4], 0x19
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x422c9d
cmp dword [esi + 0xc], 0
jl 0x422c91
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x422c91
call fcn.00417a80
mov dword [ebp - 0x100], eax
lea edx, [esi + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x422c89
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x100]
add eax, 0x10
mov dword [ebp - 0x18], eax
jmp 0x422c9d
push dword [edx - 0xc]
lea ecx, [ebp - 0x18]
push edx
call fcn.00406d90
mov byte [ebp - 4], 0x18
mov eax, ebx
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x422cbe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x422cdc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x15
mov eax, ebx
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x422cfa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x14]
call fcn.0050272d
add esp, 4
push edi
call fcn.004ba020
add esp, 4
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x4232ba
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x7c], 0x740068
mov dword [ebp - 0x78], 0x700074
mov dword [ebp - 0x74], 0x2f003a
mov dword [ebp - 0x70], 0x61002f
mov dword [ebp - 0x6c], 0x690070
mov dword [ebp - 0x68], 0x2e006c
mov dword [ebp - 0x64], 0x310039
mov dword [ebp - 0x60], 0x6f0074
mov dword [ebp - 0x5c], 0x6c006f
mov dword [ebp - 0x58], 0x6f0062
mov dword [ebp - 0x54], 0x2e0078
mov dword [ebp - 0x50], 0x6f0063
mov dword [ebp - 0x4c], 0x2f006d
mov dword [ebp - 0x48], 0x630070
mov dword [ebp - 0x44], 0x75002f
mov dword [ebp - 0x40], 0x2f0064
mov dword [ebp - 0x3c], 0x760065
mov dword [ebp - 0x38], 0x61
call fcn.00407b40
push eax
push 0x23
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x30]
call fcn.004070e0
sub esp, 8
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x14]
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x30]
push eax
call fcn.0041f980
add esp, 0xc
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x30]
test eax, eax
mov eax, ebx
sete byte [ebp - 0x29]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x422dfb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x29], 0
je 0x422f15
lea ecx, [ebp - 0x34]
call fcn.00426ed0
mov byte [ebp - 4], 0x1c
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x64], 0x650073
mov dword [ebp - 0x60], 0x64006e
mov dword [ebp - 0x5c], 0x650020
mov dword [ebp - 0x58], 0x610076
mov dword [ebp - 0x54], 0x730020
mov dword [ebp - 0x50], 0x610074
mov dword [ebp - 0x4c], 0x200074
mov dword [ebp - 0x48], 0x690074
mov dword [ebp - 0x44], 0x65006d
mov dword [ebp - 0x40], 0x6f0020
mov dword [ebp - 0x3c], 0x740075
mov word [ebp - 0x38], ax
call fcn.00407b40
push eax
push 0x16
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004070e0
sub esp, 8
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x19c]
call fcn.004093f0
mov byte [ebp - 4], 0x1e
mov eax, 0x55fc20
mov esi, dword [ebp - 0xbc]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00407550
mov eax, dword [edi]
lea ecx, [ebp - 0x19c]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
lea ecx, [ebp - 0x19c]
call fcn.0040a3e0
mov byte [ebp - 4], 0x1c
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x422ee7
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1f
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x422f11
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x422f11
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x422f11
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov edi, dword [ebp - 0x14]
push 0x560f88
push edi
call fcn.005119ef
add esp, 8
lea ecx, [ebp - 0x104]
test eax, eax
sete byte [ebp - 0x30]
call fcn.00426ed0
mov byte [ebp - 4], 0x20
mov ebx, dword [eax]
xor eax, eax
mov dword [ebp - 0x64], 0x650073
mov dword [ebp - 0x60], 0x64006e
mov dword [ebp - 0x5c], 0x650020
mov dword [ebp - 0x58], 0x610076
mov dword [ebp - 0x54], 0x730020
mov dword [ebp - 0x50], 0x610074
mov dword [ebp - 0x4c], 0x200074
mov dword [ebp - 0x48], 0x650072
mov dword [ebp - 0x44], 0x750073
mov dword [ebp - 0x40], 0x74006c
mov dword [ebp - 0x3c], 0x20003a
mov word [ebp - 0x38], ax
call fcn.00407b40
push eax
push 0x16
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004070e0
sub esp, 8
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x234]
call fcn.004093f0
mov byte [ebp - 4], 0x22
mov eax, 0x55fc20
mov esi, dword [ebp - 0xbc]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.00407550
add esp, 8
lea ecx, [ebp - 0x234]
push dword [ebp - 0x30]
call fcn.00425f50
mov eax, dword [ebx]
lea ecx, [ebp - 0x234]
push ecx
mov ecx, ebx
call dword [eax + 0xc]
lea ecx, [ebp - 0x234]
call fcn.0040a3e0
or ebx, 0xffffffff
mov byte [ebp - 4], 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x423022
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x23
mov esi, dword [ebp - 0x100]
test esi, esi
je 0x42304f
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x42304f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x42304f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x15
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x42306a
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xd
mov eax, ebx
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x423088
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov eax, ebx
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4231d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4231d0
lea ecx, [ebp - 0x34]
call fcn.00426ed0
mov byte [ebp - 4], 9
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x70], 0x65006e
mov dword [ebp - 0x6c], 0x200074
mov dword [ebp - 0x68], 0x6e0069
mov dword [ebp - 0x64], 0x740069
mov dword [ebp - 0x60], 0x660020
mov dword [ebp - 0x5c], 0x690061
mov dword [ebp - 0x58], 0x2c006c
mov dword [ebp - 0x54], 0x6e0020
mov dword [ebp - 0x50], 0x74006f
mov dword [ebp - 0x4c], 0x730020
mov dword [ebp - 0x48], 0x6e0065
mov dword [ebp - 0x44], 0x200064
mov dword [ebp - 0x40], 0x760065
mov dword [ebp - 0x3c], 0x2e0061
mov word [ebp - 0x38], ax
call fcn.00407b40
push eax
push 0x1c
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xbc]
call fcn.004070e0
sub esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x19c]
call fcn.004093f0
mov byte [ebp - 4], 0xb
mov eax, 0x55fc20
mov esi, dword [ebp - 0xbc]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00407550
mov eax, dword [edi]
lea ecx, [ebp - 0x19c]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
lea ecx, [ebp - 0x19c]
call fcn.0040a3e0
mov byte [ebp - 4], 9
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4231a6
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x4231d0
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x4231d0
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x4231d0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 5
mov eax, ebx
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4231ee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x42320d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ac694
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
call fcn.00407160
push 0x80004005
call fcn.00407c80
call fcn.00407160
push 0x80004005
call fcn.00407c80
call fcn.00407160
push 0x80004005
call fcn.00407c80
call fcn.00407160
push 0x80004005
call fcn.00407c80
call fcn.00407160
push 0x80004005
call fcn.00407c80
call fcn.00407160
push 0x80004005
call fcn.00407c80
call fcn.00407160
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80070057
call fcn.00407c80
push 0x80004005
call fcn.00407c80
int3