Function at 0x4efa40
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 0x5f116e
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.00542680
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0
call fcn.005425f0
cmp eax, 6
je 0x4efac5
mov byte [ebp - 0x109], 0
jmp 0x4f1b5c
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
lea ecx, [ebp - 0x84]
movq qword [ebp - 0x84], xmm0
call fcn.00545940
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.005458d0
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.00542600
push eax
lea ecx, [ebp - 0x5c]
call fcn.005458d0
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.00544ce0
push eax
call dword [0x5fd0bc]
lea ecx, [ebp - 0x38]
call fcn.00545700
push 0
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x118], eax
call fcn.00545210
call fcn.00541b70
movsd xmm1, qword [0x6e3258]
comisd xmm1, xmm0
jbe 0x4f00b9
push 1
push 0x61d1c0
xorps xmm0, xmm0
lea ecx, [ebp - 0x50]
push 4
movups xmmword [ebp - 0x78], xmm0
movq qword [ebp - 0x68], xmm0
call fcn.00542600
push eax
lea ecx, [ebp - 0x78]
call fcn.00542680
push 1
push 0x61e0f4
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.00542600
push eax
lea ecx, [ebp - 0xa0]
call fcn.00542680
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 5
call fcn.005425f0
cmp eax, 3
jne 0x4efc3f
lea ecx, [ebp - 0xa0]
call fcn.005425f0
cmp eax, 2
jb 0x4efc3f
mov dword [ebp - 0xe0], 0
lea eax, [ebp - 0xe0]
push eax
push 0x6802d0
push 1
push 0
push 0x68026c
call dword [0x5fdad8]
test eax, eax
jns 0x4efc5e
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4efc3f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xa0]
call fcn.00542660
lea ecx, [ebp - 0x78]
call fcn.00542660
mov byte [ebp - 0x109], 0
jmp 0x4f1b41
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 0x680398
push 0
call fcn.00542600
push eax
push dword [ebp - 0xe0]
call dword [esi + 0x18]
test eax, eax
js 0x4efce4
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 0x4efca0
mov eax, dword [ebp - 0xd4]
push 0x2000
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
test eax, eax
jns 0x4efd32
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efcdb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc
jmp 0x4efc2f
mov eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0x50]
mov esi, dword [eax]
lea eax, [ebp - 0xd4]
push eax
push 0x680398
push 0x680194
push 0
call fcn.00542600
push eax
push dword [ebp - 0xe0]
call dword [esi + 0x20]
test eax, eax
jns 0x4efcb2
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efd29
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa
jmp 0x4efc2f
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x50]
push 2
mov esi, dword [eax]
call fcn.00542600
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x80]
test eax, eax
jns 0x4efd72
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efd69
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe
jmp 0x4efc2f
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x50]
push 3
mov esi, dword [eax]
call fcn.00542600
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x88]
test eax, eax
jns 0x4efdb2
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efda9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x10
jmp 0x4efc2f
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x50]
push 1
mov esi, dword [eax]
call fcn.00542600
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.005454f0
push eax
push dword [ebp - 0xd4]
call dword [esi + 0x90]
push 0x628860
lea ecx, [ebp - 0x38]
call fcn.00545820
test al, al
je 0x4efe1d
push 0x61d060
lea ecx, [ebp - 0x38]
call fcn.00545870
cmp dword [ebp - 0x118], 0
je 0x4efe42
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x38]
push 0
mov esi, dword [eax]
call fcn.005454f0
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 0x4efea3
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4efe86
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4efe9a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
jmp 0x4efc2f
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 0x4efece
mov dword [ebp - 0xb0], edi
jmp 0x4efefa
jle 0x4efee3
mov dword [ebp - 0xb0], 1
mov word [ebp - 0xac], di
jmp 0x4efefa
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.00542600
push eax
call fcn.0042285c
add esp, 4
mov word [ebp - 0xcc], ax
lea ecx, [ebp - 0x78]
push 1
call fcn.00542600
push eax
call fcn.0042285c
add esp, 4
mov word [ebp - 0xca], ax
lea ecx, [ebp - 0x78]
push 2
call fcn.00542600
push eax
call fcn.0042285c
add esp, 4
mov word [ebp - 0xc8], ax
lea ecx, [ebp - 0xa0]
push 0
call fcn.00542600
push eax
call fcn.0042285c
add esp, 4
mov word [ebp - 0xc0], ax
lea ecx, [ebp - 0xa0]
push 1
call fcn.00542600
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 0x4effca
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4effad
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4effc1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x17
jmp 0x4efc2f
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 0x4f0038
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0007
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f001b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f002f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1c
jmp 0x4efc2f
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 0x4f0065
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f0079
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f008d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f00a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xa0]
call fcn.00542660
lea ecx, [ebp - 0x78]
call fcn.00542660
jmp 0x4f1b41
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 0x4f00eb
mov byte [ebp - 4], 0x22
jmp 0x4f17d7
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 0x4f01c1
mov byte [ebp - 4], 0x27
jmp 0x4f17d7
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.00542600
push eax
push 0x628878
push 4
call fcn.00542600
push eax
lea ecx, [ebp - 0x24]
call fcn.00545880
push 0x61d058
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 0x4f0231
mov edx, dword [edx]
jmp 0x4f0233
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 0x4f02ac
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f02ac
test esi, esi
je 0x4f02ac
mov eax, dword [esi]
test eax, eax
je 0x4f0284
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f029b
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 0x4f02d5
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f02cc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x2c
jmp 0x4f17d7
push 0
lea ecx, [ebp - 0x50]
call fcn.00542600
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x2d
mov edx, dword [eax]
test edx, edx
je 0x4f02f9
mov edx, dword [edx]
jmp 0x4f02fb
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 0x4f0357
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f0357
test esi, esi
je 0x4f0357
mov eax, dword [esi]
test eax, eax
je 0x4f0335
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f034c
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 0x4f03d5
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f039c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f03b0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f03cc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x33
jmp 0x4f17d7
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 0x4f0439
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0400
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0414
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0430
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x37
jmp 0x4f17d7
lea ecx, [ebp - 0x84]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x38
mov edx, dword [eax]
test edx, edx
je 0x4f045e
mov edx, dword [edx]
jmp 0x4f0460
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 0x4f04cf
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f04cf
test esi, esi
je 0x4f04cf
mov eax, dword [esi]
test eax, eax
je 0x4f04a7
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f04be
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 0x4f0520
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f04e7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f04fb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x3b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0517
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3c
jmp 0x4f17d7
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x50]
push 1
mov esi, dword [eax]
call fcn.00542600
push eax
push dword [ebp - 0xe4]
call dword [esi + 0x20]
test eax, eax
jns 0x4f058d
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0554
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0568
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0584
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x40
jmp 0x4f17d7
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 0x4f0613
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f05c6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f05da
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f05ee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f060a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x46
jmp 0x4f17d7
push 0x62887c
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x47
mov eax, dword [eax]
test eax, eax
je 0x4f0631
mov edx, dword [eax]
jmp 0x4f0633
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 0x4f06a2
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f06a2
test esi, esi
je 0x4f06a2
mov eax, dword [esi]
test eax, eax
je 0x4f067a
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0691
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 0x4f0707
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f06ba
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f06ce
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f06e2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f06fe
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4c
jmp 0x4f17d7
mov eax, dword [ebp - 0xe8]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test eax, eax
jns 0x4f077a
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f072d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0741
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0755
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0771
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x51
jmp 0x4f17d7
cmp dword [ebp - 0x118], 0
je 0x4f0953
push 0
push 1
push 1
push 0
push 0x61d058
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
jne 0x4f07ec
lea eax, [ebp - 0xec]
mov dword [ebp - 0xec], 0x80
push eax
push 0
push 0
push 0x80
lea ecx, [ebp - 0x38]
call fcn.00544ce0
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 0x61d058
lea ecx, [ebp - 0x38]
call fcn.00543b40
mov eax, dword [ebp - 0xe8]
push 3
push eax
mov ecx, dword [eax]
call dword [ecx + 0x38]
test eax, eax
jns 0x4f085f
mov byte [ebp - 4], 0x52
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0812
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0826
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f083a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0856
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x56
jmp 0x4f17d7
lea ecx, [ebp - 0x38]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x57
mov edx, dword [eax]
test edx, edx
je 0x4f0881
mov edx, dword [edx]
jmp 0x4f0883
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 0x4f08ee
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f08ee
test esi, esi
je 0x4f08ee
mov eax, dword [esi]
test eax, eax
je 0x4f08c6
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f08dd
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 0x4f0953
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0906
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f091a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f092e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f094a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x5c
jmp 0x4f17d7
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 0x4f09ed
mov byte [ebp - 4], 0x5e
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f098c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x5f
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f09a0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x60
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f09b4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x61
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f09c8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x62
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f09e4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x63
jmp 0x4f17d7
mov eax, dword [ebp - 0xf0]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jns 0x4f0a74
mov byte [ebp - 4], 0x64
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0a13
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x65
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0a27
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0a3b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0a4f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x68
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0a6b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x69
jmp 0x4f17d7
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 0x4f0b42
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0acd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6c
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0ae1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0af5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6e
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0b09
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x6f
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0b1d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x70
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0b39
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x71
jmp 0x4f17d7
mov dword [ebp - 0xf8], 0
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0xf4]
test eax, eax
jne 0x4f0b5f
lea edx, [eax + 1]
jmp 0x4f0b79
jle 0x4f0b68
mov edx, 2
jmp 0x4f0b79
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 0x4f0c32
mov byte [ebp - 4], 0x73
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0ba9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x74
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0bbd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x75
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0bd1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x76
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0be5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x77
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0bf9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x78
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0c0d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x79
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0c29
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7a
jmp 0x4f17d7
push 0x628894
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x7b
mov eax, dword [eax]
test eax, eax
je 0x4f0c50
mov edx, dword [eax]
jmp 0x4f0c52
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 0x4f0cc1
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f0cc1
test esi, esi
je 0x4f0cc1
mov eax, dword [esi]
test eax, eax
je 0x4f0c99
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0cb0
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 0x4f0d66
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0cdd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7d
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0cf1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7e
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0d05
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x7f
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0d19
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x80
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0d2d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x81
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0d41
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x82
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0d5d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x83
jmp 0x4f17d7
lea ecx, [ebp - 0x24]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0x84
mov edx, dword [eax]
test edx, edx
je 0x4f0d88
mov edx, dword [edx]
jmp 0x4f0d8a
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 0x4f0df5
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f0df5
test esi, esi
je 0x4f0df5
mov eax, dword [esi]
test eax, eax
je 0x4f0dcd
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f0de4
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 0x4f0e9a
mov byte [ebp - 4], 0x85
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0e11
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x86
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0e25
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x87
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0e39
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0e4d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x89
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0e61
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x8a
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0e75
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x8b
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0e91
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x8c
jmp 0x4f17d7
mov esi, dword [ebp - 0xf4]
test esi, esi
jle 0x4f0f9c
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 0x4f0f86
mov byte [ebp - 4], 0x8e
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0ee9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x8f
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f0efd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x90
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f0f11
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x91
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f0f25
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x92
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f0f39
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x93
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f0f4d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x94
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f0f61
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0x95
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f0f7d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x96
jmp 0x4f17d7
mov eax, dword [ebp - 0xf4]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov byte [ebp - 4], 0x97
jmp 0x4f11dc
cmp dword [ebp - 0x118], 0
je 0x4f11ec
cmp esi, 0xffffffff
jne 0x4f11ec
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 0x4f1090
mov byte [ebp - 4], 0x99
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f0ff3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9a
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f1007
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9b
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f101b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9c
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f102f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9d
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f1043
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9e
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f1057
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x9f
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f106b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0xa0
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f1087
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa1
jmp 0x4f17d7
lea ecx, [ebp - 0x38]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xa2
mov edx, dword [eax]
test edx, edx
je 0x4f10b2
mov edx, dword [edx]
jmp 0x4f10b4
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 0x4f111f
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f111f
test esi, esi
je 0x4f111f
mov eax, dword [esi]
test eax, eax
je 0x4f10f7
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f110e
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 0x4f11d8
mov byte [ebp - 4], 0xa3
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f113b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa4
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f114f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa5
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f1163
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa6
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f1177
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f118b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa8
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f119f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa9
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f11b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0xaa
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f11cf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xab
jmp 0x4f17d7
mov byte [ebp - 4], 0xac
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x4f11ec
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 0x4f1302
mov byte [ebp - 4], 0xb0
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f123d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb1
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f1251
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb2
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f1265
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb3
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f1279
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb4
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f128d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb5
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f12a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb6
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f12b5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb7
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f12c9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb8
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f12dd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0xb9
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f12f9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xba
jmp 0x4f17d7
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 0x4f13f8
mov byte [ebp - 4], 0xbb
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f1333
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbc
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f1347
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbd
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f135b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbe
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f136f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xbf
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f1383
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc0
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f1397
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc1
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f13ab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc2
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f13bf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc3
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f13d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0xc4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f13ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc5
jmp 0x4f17d7
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 0x4f14f0
mov byte [ebp - 4], 0xc6
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f142b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc7
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f143f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc8
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f1453
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc9
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f1467
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xca
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f147b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcb
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f148f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcc
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f14a3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xcd
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f14b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xce
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f14cb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0xcf
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f14e7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd0
jmp 0x4f17d7
push 2
lea ecx, [ebp - 0x50]
call fcn.00542600
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xd1
mov edx, dword [eax]
test edx, edx
je 0x4f1514
mov edx, dword [edx]
jmp 0x4f1516
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 0x4f1585
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f1585
test esi, esi
je 0x4f1585
mov eax, dword [esi]
test eax, eax
je 0x4f155d
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f1574
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 0x4f1666
mov byte [ebp - 4], 0xd2
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f15a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd3
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f15b5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd4
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f15c9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd5
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f15dd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd6
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f15f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd7
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f1605
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd8
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f1619
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xd9
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f162d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xda
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f1641
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0xdb
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f165d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xdc
jmp 0x4f17d7
push 3
lea ecx, [ebp - 0x50]
call fcn.00542600
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xdd
mov edx, dword [eax]
test edx, edx
je 0x4f168a
mov edx, dword [edx]
jmp 0x4f168c
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 0x4f16fb
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f16fb
test esi, esi
je 0x4f16fb
mov eax, dword [esi]
test eax, eax
je 0x4f16d3
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f16ea
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 0x4f17f3
mov byte [ebp - 4], 0xde
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f1717
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xdf
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f172b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe0
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f173f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe1
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f1753
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe2
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f1767
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe3
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f177b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe4
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f178f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe5
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f17a3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe6
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f17b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0xe7
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f17d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xe8
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4f17e7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 0x109], 0
jmp 0x4f1b41
lea ecx, [ebp - 0x5c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xe9
mov edx, dword [eax]
test edx, edx
je 0x4f1815
mov edx, dword [edx]
jmp 0x4f1817
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 0x4f1875
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f1875
test esi, esi
je 0x4f1875
mov eax, dword [esi]
test eax, eax
je 0x4f1853
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f186a
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
add esp, 8
push 0x6288a8
lea ecx, [ebp - 0xec]
call fcn.00401a70
mov byte [ebp - 4], 0xea
mov edx, dword [eax]
test edx, edx
je 0x4f1893
mov edx, dword [edx]
jmp 0x4f1895
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 0x4f18ef
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x4f18ef
test esi, esi
je 0x4f18ef
mov eax, dword [esi]
test eax, eax
je 0x4f18cd
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f18e4
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 0x61d060
mov word [ebp - 0x128], ax
call dword [0x5fd57c]
mov dword [ebp - 0x120], eax
test eax, eax
je 0x4f1b8a
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.00542600
push eax
lea ecx, [ebp - 0x118]
call fcn.00401a70
mov byte [ebp - 4], 0xef
mov esi, dword [eax]
test esi, esi
je 0x4f1986
mov esi, dword [esi]
jmp 0x4f1988
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 0x4f1a2b
lock xadd dword [esi + 8], edi
dec edi
jne 0x4f1a21
test esi, esi
je 0x4f1a21
mov eax, dword [esi]
test eax, eax
je 0x4f19ff
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4f1a16
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 [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 0x4f1a5d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf1
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x4f1a71
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf2
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x4f1a85
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf3
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x4f1a99
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf4
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x4f1aad
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf5
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4f1ac1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf6
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x4f1ad5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf7
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x4f1ae9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf8
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x4f1afd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf9
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x4f1b11
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x24]
call fcn.00545790
mov byte [ebp - 4], 0xfa
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x4f1b2d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xfb
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x4f1b41
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x5c]
call fcn.00545790
lea ecx, [ebp - 0x38]
call fcn.00545790
lea ecx, [ebp - 0x84]
call fcn.00545790
lea ecx, [ebp - 0x50]
call fcn.00542660
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