Function at 0x4ef4d0
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 0x5f0aca
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x148
mov eax, dword [0x704200]
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.00542100
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0
call fcn.00542070
cmp eax, 6
je 0x4ef555
mov byte [ebp - 0x109], 0
jmp 0x4f15ec
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
lea ecx, [ebp - 0x84]
movq qword [ebp - 0x84], xmm0
call fcn.005453c0
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.00545350
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.00542080
push eax
lea ecx, [ebp - 0x5c]
call fcn.00545350
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.00544760
push eax
call dword [0x5fd0bc]
lea ecx, [ebp - 0x38]
call fcn.00545180
push 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x118], eax
call fcn.00544c90
call fcn.005415f0
movsd xmm1, qword [0x6e3260]
comisd xmm1, xmm0
jbe 0x4efb49
push 1
push 0x61d1b0
xorps xmm0, xmm0
lea ecx, [ebp - 0x50]
push 4
movups xmmword [ebp - 0x78], xmm0
movq qword [ebp - 0x68], xmm0
call fcn.00542080
push eax
lea ecx, [ebp - 0x78]
call fcn.00542100
push 1
push 0x61e0e0
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.00542080
push eax
lea ecx, [ebp - 0xa0]
call fcn.00542100
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.00542070
cmp eax, 3
jne 0x4ef6cf
lea ecx, [ebp - 0xa0]
call fcn.00542070
cmp eax, 2
jb 0x4ef6cf
mov dword [ebp - 0xe0], 0
lea eax, [ebp - 0xe0]
push eax
push 0x6802b0
push 1
push 0
push 0x68024c
call dword [0x5fdad4]
test eax, eax
jns 0x4ef6ee
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4ef6cf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xa0]
call fcn.005420e0
lea ecx, [ebp - 0x78]
call fcn.005420e0
mov byte [ebp - 0x109], 0
jmp 0x4f15d1
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 0x680378
push 0
call fcn.00542080
push eax
push dword [ebp - 0xe0]
call dword [esi + 0x18]
test eax, eax
js 0x4ef774
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 0x4ef730
mov eax, dword [ebp - 0xd4]
push 0x2000
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
test eax, eax
jns 0x4ef7c2
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4ef76b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc
jmp 0x4ef6bf
mov eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0x50]
mov esi, dword [eax]
lea eax, [ebp - 0xd4]
push eax
push 0x680378
push 0x680174
push 0
call fcn.00542080
push eax
push dword [ebp - 0xe0]
call dword [esi + 0x20]
test eax, eax
jns 0x4ef742
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4ef7b9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa
jmp 0x4ef6bf
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x50]
push 2
mov esi, dword [eax]
call fcn.00542080
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x80]
test eax, eax
jns 0x4ef802
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4ef7f9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe
jmp 0x4ef6bf
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x50]
push 3
mov esi, dword [eax]
call fcn.00542080
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x88]
test eax, eax
jns 0x4ef842
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4ef839
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x10
jmp 0x4ef6bf
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x50]
push 1
mov esi, dword [eax]
call fcn.00542080
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.00544f70
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x90]
push 0x628850
lea ecx, [ebp - 0x38]
call fcn.005452a0
test al, al
je 0x4ef8ad
push 0x61d050
lea ecx, [ebp - 0x38]
call fcn.005452f0
cmp dword [ebp - 0x118], 0
je 0x4ef8d2
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x38]
push 0
mov esi, dword [eax]
call fcn.00544f70
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 0x4ef933
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4ef916
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4ef92a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
jmp 0x4ef6bf
push 0x30
lea eax, [ebp - 0xd0]
push 0
push eax
call fcn.004201d0
add esp, 0xc
mov eax, 0x30
mov word [ebp - 0xd0], ax
test edi, edi
jne 0x4ef95e
mov dword [ebp - 0xb0], edi
jmp 0x4ef98a
jle 0x4ef973
mov dword [ebp - 0xb0], 1
mov word [ebp - 0xac], di
jmp 0x4ef98a
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.00542080
push eax
call fcn.0042285c
add esp, 4
mov word [ebp - 0xcc], ax
lea ecx, [ebp - 0x78]
push 1
call fcn.00542080
push eax
call fcn.0042285c
add esp, 4
mov word [ebp - 0xca], ax
lea ecx, [ebp - 0x78]
push 2
call fcn.00542080
push eax
call fcn.0042285c
add esp, 4
mov word [ebp - 0xc8], ax
lea ecx, [ebp - 0xa0]
push 0
call fcn.00542080
push eax
call fcn.0042285c
add esp, 4
mov word [ebp - 0xc0], ax
lea ecx, [ebp - 0xa0]
push 1
call fcn.00542080
push eax
call fcn.0042285c
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 0x4efa5a
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4efa3d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efa51
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x17
jmp 0x4ef6bf
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0xd4]
push edx
push 0x5fdc50
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x4efac8
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4efa97
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4efaab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efabf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1c
jmp 0x4ef6bf
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 0x4efaf5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4efb09
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efb1d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4efb31
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xa0]
call fcn.005420e0
lea ecx, [ebp - 0x78]
call fcn.005420e0
jmp 0x4f15d1
mov dword [ebp - 0xdc], 0
lea eax, [ebp - 0xdc]
push eax
push 0x617720
push 1
push 0
push 0x617730
call dword [0x5fdad4]
test eax, eax
jns 0x4efb7b
mov byte [ebp - 4], 0x22
jmp 0x4f1267
mov esi, dword [0x5fd584]
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 [0x5fd574]
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 0x4efc51
mov byte [ebp - 4], 0x27
jmp 0x4f1267
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.00542080
push eax
push 0x628868
push 4
call fcn.00542080
push eax
lea ecx, [ebp - 0x24]
call fcn.00545300
push 0x61d048
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 0x4efcc1
mov edx, dword [edx]
jmp 0x4efcc3
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 0x4efd3c
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4efd3c
test esi, esi
je 0x4efd3c
mov eax, dword [esi]
test eax, eax
je 0x4efd14
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4efd2b
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
mov ecx, dword [ebp - 0xec]
add esp, 8
test cl, cl
je 0x4efd65
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efd5c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x2c
jmp 0x4f1267
push 0
lea ecx, [ebp - 0x50]
call fcn.00542080
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x2d
mov edx, dword [eax]
test edx, edx
je 0x4efd89
mov edx, dword [edx]
jmp 0x4efd8b
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 0x4efde7
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4efde7
test esi, esi
je 0x4efde7
mov eax, dword [esi]
test eax, eax
je 0x4efdc5
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4efddc
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
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 0x4efe65
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4efe2c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4efe40
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efe5c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x33
jmp 0x4f1267
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 0x4efec9
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4efe90
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4efea4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efec0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x37
jmp 0x4f1267
lea ecx, [ebp - 0x84]
call fcn.00544f70
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x38
mov edx, dword [eax]
test edx, edx
je 0x4efeee
mov edx, dword [edx]
jmp 0x4efef0
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 0x4eff5f
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4eff5f
test esi, esi
je 0x4eff5f
mov eax, dword [esi]
test eax, eax
je 0x4eff37
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4eff4e
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4effb0
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4eff77
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4eff8b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x3b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4effa7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3c
jmp 0x4f1267
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x50]
push 1
mov esi, dword [eax]
call fcn.00542080
push eax
push dword [ebp - 0xe4]
call dword [esi + 0x20]
test eax, eax
jns 0x4f001d
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4effe4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4efff8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0014
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x40
jmp 0x4f1267
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 0x4f00a3
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0056
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f006a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f007e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f009a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x46
jmp 0x4f1267
push 0x62886c
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x47
mov eax, dword [eax]
test eax, eax
je 0x4f00c1
mov edx, dword [eax]
jmp 0x4f00c3
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 0x4f0132
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f0132
test esi, esi
je 0x4f0132
mov eax, dword [esi]
test eax, eax
je 0x4f010a
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0121
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f0197
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f014a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f015e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0172
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f018e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4c
jmp 0x4f1267
mov eax, dword [ebp - 0xe8]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test eax, eax
jns 0x4f020a
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f01bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f01d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f01e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0201
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x51
jmp 0x4f1267
cmp dword [ebp - 0x118], 0
je 0x4f03e3
push 0
push 1
push 1
push 0
push 0x61d048
lea ecx, [ebp - 0x38]
call fcn.005438b0
test eax, eax
jne 0x4f027c
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0x80
push eax
push 0
push 0
push 0x80
lea ecx, [ebp - 0x38]
call fcn.00544760
push eax
call dword [0x5fd430]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d048
lea ecx, [ebp - 0x38]
call fcn.005435c0
mov eax, dword [ebp - 0xe8]
push 3
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
test eax, eax
jns 0x4f02ef
mov byte [ebp - 4], 0x52
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f02a2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f02b6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f02ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f02e6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x56
jmp 0x4f1267
lea ecx, [ebp - 0x38]
call fcn.00544f70
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x57
mov edx, dword [eax]
test edx, edx
je 0x4f0311
mov edx, dword [edx]
jmp 0x4f0313
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 0x4f037e
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f037e
test esi, esi
je 0x4f037e
mov eax, dword [esi]
test eax, eax
je 0x4f0356
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f036d
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f03e3
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0396
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f03aa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f03be
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f03da
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x5c
jmp 0x4f1267
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 0x4f047d
mov byte [ebp - 4], 0x5e
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f041c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x5f
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0430
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x60
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0444
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x61
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0458
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x62
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0474
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x63
jmp 0x4f1267
mov eax, dword [ebp - 0xf0]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jns 0x4f0504
mov byte [ebp - 4], 0x64
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f04a3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x65
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f04b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f04cb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f04df
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x68
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f04fb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x69
jmp 0x4f1267
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 0x4f05d2
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f055d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6c
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0571
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0585
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6e
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0599
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6f
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f05ad
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x70
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f05c9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x71
jmp 0x4f1267
mov dword [ebp - 0xf8], 0
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x4f05ef
lea edx, [eax + 1]
jmp 0x4f0609
jle 0x4f05f8
mov edx, 2
jmp 0x4f0609
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 0x4f06c2
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0639
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x74
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f064d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x75
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0661
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x76
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0675
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x77
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0689
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x78
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f069d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x79
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f06b9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7a
jmp 0x4f1267
push 0x628884
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x7b
mov eax, dword [eax]
test eax, eax
je 0x4f06e0
mov edx, dword [eax]
jmp 0x4f06e2
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 0x4f0751
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f0751
test esi, esi
je 0x4f0751
mov eax, dword [esi]
test eax, eax
je 0x4f0729
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0740
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f07f6
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f076d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7d
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0781
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7e
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0795
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7f
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f07a9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x80
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f07bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x81
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f07d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x82
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f07ed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x83
jmp 0x4f1267
lea ecx, [ebp - 0x24]
call fcn.00544f70
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x84
mov edx, dword [eax]
test edx, edx
je 0x4f0818
mov edx, dword [edx]
jmp 0x4f081a
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 0x4f0885
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f0885
test esi, esi
je 0x4f0885
mov eax, dword [esi]
test eax, eax
je 0x4f085d
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0874
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f092a
mov byte [ebp - 4], 0x85
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f08a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x86
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f08b5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x87
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f08c9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f08dd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x89
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f08f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x8a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0905
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x8b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0921
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x8c
jmp 0x4f1267
mov esi, dword [ebp - 0xf4]
test esi, esi
jle 0x4f0a2c
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 0x8d
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0xf8]
push edx
push 0x617710
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x4f0a16
mov byte [ebp - 4], 0x8e
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0979
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x8f
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f098d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x90
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f09a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x91
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f09b5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x92
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f09c9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x93
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f09dd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x94
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f09f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0x95
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0a0d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x96
jmp 0x4f1267
mov eax, dword [ebp - 0xf4]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov byte [ebp - 4], 0x97
jmp 0x4f0c6c
cmp dword [ebp - 0x118], 0
je 0x4f0c7c
cmp esi, 0xffffffff
jne 0x4f0c7c
mov dword [ebp - 0xf4], 0
mov byte [ebp - 4], 0x98
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0xf8]
push edx
push 0x617740
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x4f0b20
mov byte [ebp - 4], 0x99
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0a83
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9a
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0a97
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9b
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0aab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9c
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0abf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9d
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0ad3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9e
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0ae7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9f
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0afb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0xa0
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0b17
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa1
jmp 0x4f1267
lea ecx, [ebp - 0x38]
call fcn.00544f70
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xa2
mov edx, dword [eax]
test edx, edx
je 0x4f0b42
mov edx, dword [edx]
jmp 0x4f0b44
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 0x4f0baf
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f0baf
test esi, esi
je 0x4f0baf
mov eax, dword [esi]
test eax, eax
je 0x4f0b87
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0b9e
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f0c68
mov byte [ebp - 4], 0xa3
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0bcb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa4
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0bdf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa5
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0bf3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa6
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0c07
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0c1b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa8
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0c2f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa9
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0c43
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0xaa
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0c5f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xab
jmp 0x4f1267
mov byte [ebp - 4], 0xac
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0c7c
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 0x4f0d92
mov byte [ebp - 4], 0xb0
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f0ccd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb1
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f0ce1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb2
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f0cf5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb3
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0d09
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb4
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0d1d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb5
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0d31
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb6
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0d45
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb7
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0d59
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb8
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0d6d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0xb9
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0d89
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xba
jmp 0x4f1267
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 0x4f0e88
mov byte [ebp - 4], 0xbb
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f0dc3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbc
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f0dd7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbd
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f0deb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbe
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0dff
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbf
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0e13
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc0
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0e27
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc1
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0e3b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc2
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0e4f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc3
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0e63
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0xc4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0e7f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc5
jmp 0x4f1267
mov eax, dword [ebp - 0x104]
lea edx, [ebp - 0x100]
push edx
push 0x617760
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x4f0f80
mov byte [ebp - 4], 0xc6
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f0ebb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc7
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f0ecf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc8
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f0ee3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc9
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0ef7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xca
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0f0b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcb
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0f1f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcc
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0f33
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcd
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0f47
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xce
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0f5b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0xcf
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0f77
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd0
jmp 0x4f1267
push 2
lea ecx, [ebp - 0x50]
call fcn.00542080
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xd1
mov edx, dword [eax]
test edx, edx
je 0x4f0fa4
mov edx, dword [edx]
jmp 0x4f0fa6
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 0x4f1015
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f1015
test esi, esi
je 0x4f1015
mov eax, dword [esi]
test eax, eax
je 0x4f0fed
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f1004
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f10f6
mov byte [ebp - 4], 0xd2
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f1031
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd3
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f1045
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd4
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f1059
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd5
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f106d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd6
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f1081
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd7
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f1095
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd8
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f10a9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd9
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f10bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xda
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f10d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0xdb
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f10ed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xdc
jmp 0x4f1267
push 3
lea ecx, [ebp - 0x50]
call fcn.00542080
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xdd
mov edx, dword [eax]
test edx, edx
je 0x4f111a
mov edx, dword [edx]
jmp 0x4f111c
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 0x4f118b
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f118b
test esi, esi
je 0x4f118b
mov eax, dword [esi]
test eax, eax
je 0x4f1163
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f117a
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
mov ecx, dword [ebp - 0x110]
add esp, 8
test cl, cl
je 0x4f1283
mov byte [ebp - 4], 0xde
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f11a7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xdf
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f11bb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe0
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f11cf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe1
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f11e3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe2
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f11f7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe3
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f120b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe4
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f121f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe5
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f1233
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe6
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f1247
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0xe7
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f1263
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe8
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4f1277
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 0x109], 0
jmp 0x4f15d1
lea ecx, [ebp - 0x5c]
call fcn.00544f70
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xe9
mov edx, dword [eax]
test edx, edx
je 0x4f12a5
mov edx, dword [edx]
jmp 0x4f12a7
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 0x4f1305
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f1305
test esi, esi
je 0x4f1305
mov eax, dword [esi]
test eax, eax
je 0x4f12e3
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f12fa
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
add esp, 8
push 0x628898
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xea
mov edx, dword [eax]
test edx, edx
je 0x4f1323
mov edx, dword [edx]
jmp 0x4f1325
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 0x4f137f
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f137f
test esi, esi
je 0x4f137f
mov eax, dword [esi]
test eax, eax
je 0x4f135d
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f1374
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
add esp, 8
mov dword [ebp - 0x2c], 0
mov eax, 8
mov byte [ebp - 4], 0xeb
push 0x61d050
mov word [ebp - 0x128], ax
call dword [0x5fd578]
mov dword [ebp - 0x120], eax
test eax, eax
je 0x4f161a
movups xmm0, xmmword [ebp - 0x128]
mov esi, dword [0x5fd584]
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.00542080
push eax
lea ecx, [ebp - 0x118]
call fcn.00401a70
mov byte [ebp - 4], 0xef
mov esi, dword [eax]
test esi, esi
je 0x4f1416
mov esi, dword [esi]
jmp 0x4f1418
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 0x4f14bb
lock xadd dword [esi + 8], edi
dec edi
jne 0x4f14b1
test esi, esi
je 0x4f14b1
mov eax, dword [esi]
test eax, eax
je 0x4f148f
push eax
call dword [0x5fd57c]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f14a6
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
add esp, 8
mov dword [ebp - 0x118], 0
mov esi, dword [0x5fd574]
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 0x4f14ed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf1
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f1501
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf2
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f1515
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf3
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f1529
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf4
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f153d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf5
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f1551
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf6
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f1565
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf7
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f1579
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf8
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f158d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf9
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f15a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545210
mov byte [ebp - 4], 0xfa
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f15bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xfb
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4f15d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x5c]
call fcn.00545210
lea ecx, [ebp - 0x38]
call fcn.00545210
lea ecx, [ebp - 0x84]
call fcn.00545210
lea ecx, [ebp - 0x50]
call fcn.005420e0
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.0041e465
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0x8007000e
call fcn.0041e100
int3