Function at 0x4ef620
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 0x5f0ff1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x148
mov eax, dword [0x705200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0xf4], edi
push 1
push str.__
xorps xmm0, xmm0
push ecx
lea ecx, [ebp - 0x50]
movq qword [ebp - 0x40], xmm0
movups xmmword [ebp - 0x50], xmm0
call fcn.00542280
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0
call fcn.005421f0
cmp eax, 6
je 0x4ef6a5
mov byte [ebp - 0x109], 0
jmp 0x4f173c
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
lea ecx, [ebp - 0x84]
movq qword [ebp - 0x84], xmm0
call fcn.00545530
push 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x38]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
push 0
movq qword [ebp - 0x38], xmm0
call fcn.005454c0
push 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x50]
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push 2
movq qword [ebp - 0x5c], xmm0
call fcn.00542200
push eax
lea ecx, [ebp - 0x5c]
call fcn.005454c0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 3
push eax
push 0
push 0
push 0x101
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x108], 0x101
call fcn.005448f0
push eax
call dword [0x5fd0bc]
lea ecx, [ebp - 0x38]
call fcn.005452f0
push 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x118], eax
call fcn.00544e20
call fcn.00541770
movsd xmm1, qword [0x6e42e8]
comisd xmm1, xmm0
jbe 0x4efc99
push 1
push 0x61d1d4
xorps xmm0, xmm0
lea ecx, [ebp - 0x50]
push 4
movups xmmword [ebp - 0x78], xmm0
movq qword [ebp - 0x68], xmm0
call fcn.00542200
push eax
lea ecx, [ebp - 0x78]
call fcn.00542280
push 1
push 0x61e104
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x50]
xorps xmm0, xmm0
push 5
movups xmmword [ebp - 0xa0], xmm0
movq qword [ebp - 0x90], xmm0
call fcn.00542200
push eax
lea ecx, [ebp - 0xa0]
call fcn.00542280
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.005421f0
cmp eax, 3
jne 0x4ef81f
lea ecx, [ebp - 0xa0]
call fcn.005421f0
cmp eax, 2
jb 0x4ef81f
mov dword [ebp - 0xe0], 0
lea eax, [ebp - 0xe0]
push eax
push 0x680890
push 1
push 0
push 0x68082c
call dword [0x5fdad8]
test eax, eax
jns 0x4ef83e
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4ef81f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xa0]
call fcn.00542260
lea ecx, [ebp - 0x78]
call fcn.00542260
mov byte [ebp - 0x109], 0
jmp 0x4f1721
mov dword [ebp - 0xd4], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x50]
mov eax, dword [ebp - 0xe0]
mov esi, dword [eax]
lea eax, [ebp - 0xd4]
push eax
push 0x680958
push 0
call fcn.00542200
push eax
push dword [ebp - 0xe0]
call dword [esi + 0x18]
test eax, eax
js 0x4ef8c4
nop dword [eax + eax]
mov eax, dword [ebp - 0xd4]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
test eax, eax
jns 0x4ef880
mov eax, dword [ebp - 0xd4]
push 0x2000
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
test eax, eax
jns 0x4ef912
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4ef8bb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc
jmp 0x4ef80f
mov eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0x50]
mov esi, dword [eax]
lea eax, [ebp - 0xd4]
push eax
push 0x680958
push 0x680754
push 0
call fcn.00542200
push eax
push dword [ebp - 0xe0]
call dword [esi + 0x20]
test eax, eax
jns 0x4ef892
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4ef909
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa
jmp 0x4ef80f
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x50]
push 2
mov esi, dword [eax]
call fcn.00542200
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x80]
test eax, eax
jns 0x4ef952
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4ef949
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe
jmp 0x4ef80f
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x50]
push 3
mov esi, dword [eax]
call fcn.00542200
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x88]
test eax, eax
jns 0x4ef992
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4ef989
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x10
jmp 0x4ef80f
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x50]
push 1
mov esi, dword [eax]
call fcn.00542200
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x48]
mov eax, dword [ebp - 0xd4]
push 0x1b7740
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa8]
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x5c]
mov esi, dword [eax]
call fcn.005450e0
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x90]
push 0x628870
lea ecx, [ebp - 0x38]
call fcn.00545410
test al, al
je 0x4ef9fd
push 0x61d074
lea ecx, [ebp - 0x38]
call fcn.00545460
cmp dword [ebp - 0x118], 0
je 0x4efa22
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x38]
push 0
mov esi, dword [eax]
call fcn.005450e0
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x78]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0xfc], 0
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0xd4]
push edx
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
jns 0x4efa83
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4efa66
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efa7a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
jmp 0x4ef80f
push 0x30
lea eax, [ebp - 0xd0]
push 0
push eax
call fcn.004201e0
add esp, 0xc
mov eax, 0x30
mov word [ebp - 0xd0], ax
test edi, edi
jne 0x4efaae
mov dword [ebp - 0xb0], edi
jmp 0x4efada
jle 0x4efac3
mov dword [ebp - 0xb0], 1
mov word [ebp - 0xac], di
jmp 0x4efada
mov eax, dword [ebp - 0xb0]
cmp edi, 0xffffffff
mov ecx, 7
cmove eax, ecx
mov dword [ebp - 0xb0], eax
push 0
lea ecx, [ebp - 0x78]
call fcn.00542200
push eax
call fcn.0042286c
add esp, 4
mov word [ebp - 0xcc], ax
lea ecx, [ebp - 0x78]
push 1
call fcn.00542200
push eax
call fcn.0042286c
add esp, 4
mov word [ebp - 0xca], ax
lea ecx, [ebp - 0x78]
push 2
call fcn.00542200
push eax
call fcn.0042286c
add esp, 4
mov word [ebp - 0xc8], ax
lea ecx, [ebp - 0xa0]
push 0
call fcn.00542200
push eax
call fcn.0042286c
add esp, 4
mov word [ebp - 0xc0], ax
lea ecx, [ebp - 0xa0]
push 1
call fcn.00542200
push eax
call fcn.0042286c
mov word [ebp - 0xbe], ax
lea edx, [ebp - 0xd0]
mov eax, dword [ebp - 0xfc]
add esp, 4
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
jns 0x4efbaa
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4efb8d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efba1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x17
jmp 0x4ef80f
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0xd4]
push edx
push 0x5fdc60
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x4efc18
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4efbe7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4efbfb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efc0f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1c
jmp 0x4ef80f
mov eax, dword [ebp - 0xf4]
push 1
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
sete byte [ebp - 0x109]
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4efc45
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4efc59
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efc6d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4efc81
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xa0]
call fcn.00542260
lea ecx, [ebp - 0x78]
call fcn.00542260
jmp 0x4f1721
mov dword [ebp - 0xdc], 0
lea eax, [ebp - 0xdc]
push eax
push 0x617730
push 1
push 0
push 0x617740
call dword [0x5fdad8]
test eax, eax
jns 0x4efccb
mov byte [ebp - 4], 0x22
jmp 0x4f13b7
mov esi, dword [0x5fd588]
lea eax, [ebp - 0x148]
push eax
call esi
movups xmm0, xmmword [ebp - 0x148]
lea eax, [ebp - 0x138]
push eax
movups xmmword [ebp - 0x158], xmm0
call esi
movups xmm0, xmmword [ebp - 0x138]
lea eax, [ebp - 0x28]
push eax
movups xmmword [ebp - 0x98], xmm0
call esi
movups xmm0, xmmword [ebp - 0x28]
lea eax, [ebp - 0x128]
push eax
movups xmmword [ebp - 0x70], xmm0
call esi
mov byte [ebp - 4], 0x26
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x158]
mov eax, dword [ebp - 0xdc]
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x98]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x70]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [ebp - 0x128]
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x28]
mov esi, dword [0x5fd578]
shr eax, 0x1f
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x128]
push eax
call esi
lea eax, [ebp - 0x28]
push eax
call esi
lea eax, [ebp - 0x138]
push eax
call esi
lea eax, [ebp - 0x148]
push eax
call esi
cmp byte [ebp - 0x110], 0
je 0x4efda1
mov byte [ebp - 4], 0x27
jmp 0x4f13b7
mov dword [ebp - 0xd4], 0
sub esp, 8
mov byte [ebp - 4], 0x28
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x50]
movq qword [ebp - 0x24], xmm0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 5
call fcn.00542200
push eax
push 0x628888
push 4
call fcn.00542200
push eax
lea ecx, [ebp - 0x24]
call fcn.00545470
push 0x61d06c
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x29
call fcn.00401a70
mov byte [ebp - 4], 0x2a
mov edx, dword [eax]
test edx, edx
je 0x4efe11
mov edx, dword [edx]
jmp 0x4efe13
xor edx, edx
mov eax, dword [ebp - 0xdc]
lea esi, [ebp - 0xd4]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, eax
mov byte [ebp - 4], 0x29
mov esi, dword [ebp - 0x110]
or edi, 0xffffffff
shr ecx, 0x1f
mov dword [ebp - 0xec], ecx
test esi, esi
je 0x4efe8c
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4efe8c
test esi, esi
je 0x4efe8c
mov eax, dword [esi]
test eax, eax
je 0x4efe64
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4efe7b
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
mov ecx, dword [ebp - 0xec]
add esp, 8
test cl, cl
je 0x4efeb5
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efeac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x2c
jmp 0x4f13b7
push 0
lea ecx, [ebp - 0x50]
call fcn.00542200
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x2d
mov edx, dword [eax]
test edx, edx
je 0x4efed9
mov edx, dword [edx]
jmp 0x4efedb
xor edx, edx
mov eax, dword [ebp - 0xd4]
push 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov esi, dword [ebp - 0xec]
test esi, esi
je 0x4eff37
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4eff37
test esi, esi
je 0x4eff37
mov eax, dword [esi]
test eax, eax
je 0x4eff15
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4eff2c
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
add esp, 8
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xe4], 0
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x4effb5
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4eff7c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4eff90
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4effac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x33
jmp 0x4f13b7
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0xe4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x4f0019
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4effe0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4efff4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0010
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x37
jmp 0x4f13b7
lea ecx, [ebp - 0x84]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x38
mov edx, dword [eax]
test edx, edx
je 0x4f003e
mov edx, dword [edx]
jmp 0x4f0040
xor edx, edx
mov eax, dword [ebp - 0xe4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov ecx, eax
mov byte [ebp - 4], 0x2f
mov esi, dword [ebp - 0xec]
shr ecx, 0x1f
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x4f00af
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f00af
test esi, esi
je 0x4f00af
mov eax, dword [esi]
test eax, eax
je 0x4f0087
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f009e
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f0100
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f00c7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f00db
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x3b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f00f7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3c
jmp 0x4f13b7
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x50]
push 1
mov esi, dword [eax]
call fcn.00542200
push eax
push dword [ebp - 0xe4]
call dword [esi + 0x20]
test eax, eax
jns 0x4f016d
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0134
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0148
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0164
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x40
jmp 0x4f13b7
mov dword [ebp - 0xe8], 0
mov byte [ebp - 4], 0x41
lea edx, [ebp - 0xe8]
mov eax, dword [ebp - 0xd8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
jns 0x4f01f3
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f01a6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f01ba
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f01ce
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f01ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x46
jmp 0x4f13b7
push 0x62888c
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x47
mov eax, dword [eax]
test eax, eax
je 0x4f0211
mov edx, dword [eax]
jmp 0x4f0213
xor edx, edx
mov eax, dword [ebp - 0xe8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov ecx, eax
mov byte [ebp - 4], 0x41
mov esi, dword [ebp - 0xec]
shr ecx, 0x1f
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x4f0282
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f0282
test esi, esi
je 0x4f0282
mov eax, dword [esi]
test eax, eax
je 0x4f025a
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0271
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f02e7
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f029a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f02ae
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f02c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f02de
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4c
jmp 0x4f13b7
mov eax, dword [ebp - 0xe8]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test eax, eax
jns 0x4f035a
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f030d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0321
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0335
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0351
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x51
jmp 0x4f13b7
cmp dword [ebp - 0x118], 0
je 0x4f0533
push 0
push 1
push 1
push 0
push 0x61d06c
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
jne 0x4f03cc
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0x80
push eax
push 0
push 0
push 0x80
lea ecx, [ebp - 0x38]
call fcn.005448f0
push eax
call dword [0x5fd434]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d06c
lea ecx, [ebp - 0x38]
call fcn.00543750
mov eax, dword [ebp - 0xe8]
push 3
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
test eax, eax
jns 0x4f043f
mov byte [ebp - 4], 0x52
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f03f2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0406
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f041a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0436
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x56
jmp 0x4f13b7
lea ecx, [ebp - 0x38]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x57
mov edx, dword [eax]
test edx, edx
je 0x4f0461
mov edx, dword [edx]
jmp 0x4f0463
xor edx, edx
mov eax, dword [ebp - 0xe8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov esi, dword [ebp - 0xec]
mov ecx, eax
shr ecx, 0x1f
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x4f04ce
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f04ce
test esi, esi
je 0x4f04ce
mov eax, dword [esi]
test eax, eax
je 0x4f04a6
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f04bd
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f0533
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f04e6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f04fa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f050e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f052a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x5c
jmp 0x4f13b7
mov dword [ebp - 0xf0], 0
mov byte [ebp - 4], 0x5d
lea edx, [ebp - 0xf0]
mov eax, dword [ebp - 0xd8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
jns 0x4f05cd
mov byte [ebp - 4], 0x5e
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f056c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x5f
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0580
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x60
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0594
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x61
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f05a8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x62
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f05c4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x63
jmp 0x4f13b7
mov eax, dword [ebp - 0xf0]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jns 0x4f0654
mov byte [ebp - 4], 0x64
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f05f3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x65
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0607
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f061b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f062f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x68
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f064b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x69
jmp 0x4f13b7
mov eax, dword [ebp - 0xf0]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0xf0]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov dword [ebp - 0xe0], 0
mov byte [ebp - 4], 0x6a
lea edx, [ebp - 0xe0]
mov eax, dword [ebp - 0xd8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x4f0722
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f06ad
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6c
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f06c1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f06d5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6e
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f06e9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6f
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f06fd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x70
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0719
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x71
jmp 0x4f13b7
mov dword [ebp - 0xf8], 0
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x4f073f
lea edx, [eax + 1]
jmp 0x4f0759
jle 0x4f0748
mov edx, 2
jmp 0x4f0759
mov edx, dword [ebp - 0x114]
cmp eax, 0xffffffff
mov ecx, 9
cmove edx, ecx
mov eax, dword [ebp - 0xe0]
lea esi, [ebp - 0xf8]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
test eax, eax
jns 0x4f0812
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0789
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x74
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f079d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x75
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f07b1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x76
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f07c5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x77
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f07d9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x78
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f07ed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x79
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0809
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7a
jmp 0x4f13b7
push 0x6288a4
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x7b
mov eax, dword [eax]
test eax, eax
je 0x4f0830
mov edx, dword [eax]
jmp 0x4f0832
xor edx, edx
mov eax, dword [ebp - 0xf8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov ecx, eax
mov byte [ebp - 4], 0x72
mov esi, dword [ebp - 0xec]
shr ecx, 0x1f
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x4f08a1
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f08a1
test esi, esi
je 0x4f08a1
mov eax, dword [esi]
test eax, eax
je 0x4f0879
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0890
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f0946
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f08bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7d
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f08d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7e
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f08e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7f
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f08f9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x80
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f090d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x81
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0921
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x82
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f093d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x83
jmp 0x4f13b7
lea ecx, [ebp - 0x24]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x84
mov edx, dword [eax]
test edx, edx
je 0x4f0968
mov edx, dword [edx]
jmp 0x4f096a
xor edx, edx
mov eax, dword [ebp - 0xf8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov esi, dword [ebp - 0xec]
mov ecx, eax
shr ecx, 0x1f
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x4f09d5
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f09d5
test esi, esi
je 0x4f09d5
mov eax, dword [esi]
test eax, eax
je 0x4f09ad
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f09c4
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f0a7a
mov byte [ebp - 4], 0x85
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f09f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x86
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0a05
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x87
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0a19
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0a2d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x89
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0a41
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x8a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0a55
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x8b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0a71
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x8c
jmp 0x4f13b7
mov esi, dword [ebp - 0xf4]
test esi, esi
jle 0x4f0b7c
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 0x8d
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0xf8]
push edx
push 0x617720
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x4f0b66
mov byte [ebp - 4], 0x8e
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0ac9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x8f
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0add
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x90
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0af1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x91
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0b05
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x92
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0b19
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x93
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0b2d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x94
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0b41
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0x95
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0b5d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x96
jmp 0x4f13b7
mov eax, dword [ebp - 0xf4]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov byte [ebp - 4], 0x97
jmp 0x4f0dbc
cmp dword [ebp - 0x118], 0
je 0x4f0dcc
cmp esi, 0xffffffff
jne 0x4f0dcc
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 0x98
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0xf8]
push edx
push 0x617750
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x4f0c70
mov byte [ebp - 4], 0x99
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0bd3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9a
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0be7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9b
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0bfb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9c
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0c0f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9d
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0c23
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9e
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0c37
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9f
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0c4b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0xa0
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0c67
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa1
jmp 0x4f13b7
lea ecx, [ebp - 0x38]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xa2
mov edx, dword [eax]
test edx, edx
je 0x4f0c92
mov edx, dword [edx]
jmp 0x4f0c94
xor edx, edx
mov eax, dword [ebp - 0xf4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov esi, dword [ebp - 0xec]
mov ecx, eax
shr ecx, 0x1f
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x4f0cff
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f0cff
test esi, esi
je 0x4f0cff
mov eax, dword [esi]
test eax, eax
je 0x4f0cd7
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0cee
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f0db8
mov byte [ebp - 4], 0xa3
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0d1b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa4
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0d2f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa5
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0d43
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa6
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0d57
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0d6b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa8
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0d7f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa9
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0d93
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0xaa
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0daf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xab
jmp 0x4f13b7
mov byte [ebp - 4], 0xac
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0dcc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
mov byte [ebp - 4], 0xaf
lea edx, [ebp - 0xfc]
mov eax, dword [ebp - 0xd8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
jns 0x4f0ee2
mov byte [ebp - 4], 0xb0
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f0e1d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb1
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f0e31
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb2
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f0e45
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb3
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0e59
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb4
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0e6d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb5
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0e81
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb6
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0e95
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb7
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0ea9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb8
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0ebd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0xb9
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0ed9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xba
jmp 0x4f13b7
mov eax, dword [ebp - 0xfc]
lea edx, [ebp - 0x104]
push edx
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
test eax, eax
jns 0x4f0fd8
mov byte [ebp - 4], 0xbb
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f0f13
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbc
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f0f27
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbd
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f0f3b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbe
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0f4f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbf
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0f63
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc0
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0f77
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc1
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0f8b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc2
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0f9f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc3
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0fb3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0xc4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0fcf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc5
jmp 0x4f13b7
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0x100]
push edx
push 0x617770
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x4f10d0
mov byte [ebp - 4], 0xc6
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f100b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc7
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f101f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc8
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f1033
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc9
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f1047
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xca
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f105b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcb
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f106f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcc
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f1083
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcd
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f1097
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xce
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f10ab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0xcf
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f10c7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd0
jmp 0x4f13b7
push 2
lea ecx, [ebp - 0x50]
call fcn.00542200
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xd1
mov edx, dword [eax]
test edx, edx
je 0x4f10f4
mov edx, dword [edx]
jmp 0x4f10f6
xor edx, edx
mov eax, dword [ebp - 0x100]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov ecx, eax
mov byte [ebp - 4], 0xaf
mov esi, dword [ebp - 0xec]
shr ecx, 0x1f
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x4f1165
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f1165
test esi, esi
je 0x4f1165
mov eax, dword [esi]
test eax, eax
je 0x4f113d
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f1154
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f1246
mov byte [ebp - 4], 0xd2
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f1181
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd3
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f1195
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd4
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f11a9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd5
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f11bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd6
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f11d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd7
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f11e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd8
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f11f9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd9
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f120d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xda
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f1221
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0xdb
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f123d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xdc
jmp 0x4f13b7
push 3
lea ecx, [ebp - 0x50]
call fcn.00542200
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xdd
mov edx, dword [eax]
test edx, edx
je 0x4f126a
mov edx, dword [edx]
jmp 0x4f126c
xor edx, edx
mov eax, dword [ebp - 0x100]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov ecx, eax
mov byte [ebp - 4], 0xaf
mov esi, dword [ebp - 0xec]
shr ecx, 0x1f
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x4f12db
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f12db
test esi, esi
je 0x4f12db
mov eax, dword [esi]
test eax, eax
je 0x4f12b3
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f12ca
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f13d3
mov byte [ebp - 4], 0xde
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f12f7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xdf
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f130b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe0
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f131f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe1
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f1333
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe2
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f1347
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe3
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f135b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe4
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f136f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe5
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f1383
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe6
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f1397
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0xe7
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f13b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe8
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4f13c7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 0x109], 0
jmp 0x4f1721
lea ecx, [ebp - 0x5c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xe9
mov edx, dword [eax]
test edx, edx
je 0x4f13f5
mov edx, dword [edx]
jmp 0x4f13f7
xor edx, edx
mov eax, dword [ebp - 0x100]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov byte [ebp - 4], 0xaf
mov esi, dword [ebp - 0xec]
test esi, esi
je 0x4f1455
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f1455
test esi, esi
je 0x4f1455
mov eax, dword [esi]
test eax, eax
je 0x4f1433
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f144a
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
add esp, 8
push 0x6288b8
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xea
mov edx, dword [eax]
test edx, edx
je 0x4f1473
mov edx, dword [edx]
jmp 0x4f1475
xor edx, edx
mov eax, dword [ebp - 0x100]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov esi, dword [ebp - 0xec]
test esi, esi
je 0x4f14cf
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f14cf
test esi, esi
je 0x4f14cf
mov eax, dword [esi]
test eax, eax
je 0x4f14ad
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f14c4
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
add esp, 8
mov dword [ebp - 0x2c], 0
mov eax, 8
mov byte [ebp - 4], 0xeb
push 0x61d074
mov word [ebp - 0x128], ax
call dword [0x5fd57c]
mov dword [ebp - 0x120], eax
test eax, eax
je 0x4f176a
movups xmm0, xmmword [ebp - 0x128]
mov esi, dword [0x5fd588]
lea eax, [ebp - 0x138]
push eax
movups xmmword [ebp - 0x70], xmm0
call esi
movups xmm0, xmmword [ebp - 0x138]
lea eax, [ebp - 0x148]
push eax
movups xmmword [ebp - 0x98], xmm0
call esi
mov byte [ebp - 4], 0xee
lea ecx, [ebp - 0x50]
movups xmm0, xmmword [ebp - 0x148]
push 0
movups xmmword [ebp - 0x158], xmm0
call fcn.00542200
push eax
lea ecx, [ebp - 0x118]
call fcn.00401a70
mov byte [ebp - 4], 0xef
mov esi, dword [eax]
test esi, esi
je 0x4f1566
mov esi, dword [esi]
jmp 0x4f1568
xor esi, esi
movups xmm0, xmmword [ebp - 0x70]
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x2c]
push ecx
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
push 3
sub esp, 0x10
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x98]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [ebp - 0x158]
push 6
push dword [ebp - 0xd8]
movups xmmword [ecx], xmm0
push esi
push eax
call dword [edx + 0x44]
mov esi, dword [ebp - 0x118]
test eax, eax
sete byte [ebp - 0x109]
test esi, esi
je 0x4f160b
lock xadd dword [esi + 8], edi
dec edi
jne 0x4f1601
test esi, esi
je 0x4f1601
mov eax, dword [esi]
test eax, eax
je 0x4f15df
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f15f6
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
add esp, 8
mov dword [ebp - 0x118], 0
mov esi, dword [0x5fd578]
lea eax, [ebp - 0x148]
push eax
call esi
lea eax, [ebp - 0x138]
push eax
call esi
lea eax, [ebp - 0x128]
push eax
call esi
mov byte [ebp - 4], 0xf0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4f163d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf1
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f1651
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf2
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f1665
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf3
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f1679
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf4
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f168d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf5
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f16a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf6
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f16b5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf7
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f16c9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf8
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f16dd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf9
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f16f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545380
mov byte [ebp - 4], 0xfa
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f170d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xfb
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4f1721
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x5c]
call fcn.00545380
lea ecx, [ebp - 0x38]
call fcn.00545380
lea ecx, [ebp - 0x84]
call fcn.00545380
lea ecx, [ebp - 0x50]
call fcn.00542260
mov al, byte [ebp - 0x109]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041e475
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0x8007000e
call fcn.0041e110
int3