Function at 0x4616d1
Capabilities:
Check for peb beingdebugged flag
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x514c9b
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
push ebx
push esi
push edi
mov eax, dword [0x56a5a0]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
mov dword [esp + 0x20], ecx
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0xe0], edi
call fcn.00446e6f
call fcn.00448b95
mov dword [esp + 0x24], eax
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.00446e6f
pop ecx
push eax
call fcn.00448bc7
mov byte [esp + 0xe0], 1
lea eax, [esp + 0x60]
push eax
call fcn.0045c0ac
pop ecx
mov byte [esp + 0xe0], 2
mov ebx, dword [0x51a550]
push edi
push 0x800e
push dword [ebp + 8]
call ebx
push 0x30
pop esi
push esi
lea eax, [esp + 0x2c]
push edi
push eax
call fcn.004ce6f0
add esp, 0xc
lea eax, [esp + 0xa0]
push 0x8f
push eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], 0x146
mov dword [esp + 0x38], edi
mov dword [esp + 0x44], edi
call fcn.0040df84
pop ecx
pop ecx
mov byte [esp + 0xe0], 3
push dword [eax]
lea esi, [esp + 0x60]
call fcn.0040e1be
mov byte [esp + 0xe0], 5
lea ecx, [esp + 0xa0]
call fcn.004028da
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x4617cc
sub eax, ecx
sar eax, 1
inc eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x28]
push eax
push 1
push edi
push dword [ebp + 8]
mov esi, 0x800c
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edi
call dword [0x51a558]
lea eax, [esp + 0x9c]
push eax
call fcn.00408ccb
pop ecx
mov byte [esp + 0xe0], 6
mov eax, dword [eax]
mov dword [esp + 0x18], 1
cmp dword [eax - 0xc], edi
je 0x461857
lea eax, [esp + 0x8c]
push eax
call fcn.00408ccb
pop ecx
mov dword [esp + 0xe0], 7
push dword [eax]
mov dword [esp + 0x1c], 3
call dword [0x51a4b0]
mov dword [esp + 0x1c], 1
test eax, eax
jne 0x46185b
mov dword [esp + 0x1c], edi
mov dword [esp + 0xe0], 6
test byte [esp + 0x18], 2
je 0x46187e
and dword [esp + 0x18], 0xfffffffd
lea ecx, [esp + 0x8c]
call fcn.004028da
mov dword [esp + 0xe0], 5
test byte [esp + 0x18], 1
je 0x4618a1
and dword [esp + 0x18], 0xfffffffe
lea ecx, [esp + 0x9c]
call fcn.004028da
xor eax, eax
cmp dword [esp + 0x1c], edi
mov edi, dword [0x51a54c]
sete al
push eax
push esi
push dword [ebp + 8]
call edi
xor esi, esi
cmp dword [esp + 0x24], esi
je 0x461ee3
lea eax, [esp + 0x94]
push eax
call fcn.004028b3
mov byte [esp + 0xe0], 8
push esi
push 0x800a
push dword [ebp + 8]
call ebx
push esi
push 0x8039
push dword [ebp + 8]
call edi
push esi
push 0x8029
push dword [ebp + 8]
call edi
push esi
push 0x802c
push dword [ebp + 8]
call edi
push esi
push 0x802e
push dword [ebp + 8]
call edi
push esi
push 0x8034
push dword [ebp + 8]
call edi
push esi
push 0x8020
push dword [ebp + 8]
call edi
mov eax, dword [esp + 0x20]
push esi
push 0x803d
push dword [ebp + 8]
cmp dword [eax + 0x480], esi
jne 0x46194a
call edi
push esi
push 0x803e
push dword [ebp + 8]
call ebx
push esi
jmp 0x461959
call ebx
push esi
push 0x803e
push dword [ebp + 8]
call edi
push 1
push 0x803c
push dword [ebp + 8]
call edi
mov eax, dword [esp + 0x20]
push esi
push 0x8042
push dword [ebp + 8]
cmp dword [eax + 0x273c], esi
jne 0x461987
call edi
push esi
push 0x8044
push dword [ebp + 8]
call ebx
jmp 0x461994
call ebx
push esi
push 0x8044
push dword [ebp + 8]
call edi
mov esi, dword [esp + 0x20]
add esi, 0x23c4
call fcn.0049fb0b
push 0
test eax, eax
je 0x4619bc
push 0x8054
push dword [ebp + 8]
call ebx
push 0
push 0x8053
jmp 0x4619cd
push 0x8053
push dword [ebp + 8]
call ebx
push 0
push 0x8054
push dword [ebp + 8]
call edi
and dword [esp + 0x1c], 0
mov byte [esp + 0xe0], 9
push ecx
mov eax, esp
mov dword [eax], 0x114
lea eax, [esp + 0x20]
mov dword [esp + 0x7c], esp
push eax
call fcn.00469ac5
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0x18]
call fcn.00469ae7
mov byte [esp + 0xe0], 0xa
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push dword [esp + 0x60]
and dword [esp + 0x20], 0
lea esi, [esp + 0x28]
mov dword [ecx + 0x2774], eax
call fcn.0040e1be
mov byte [esp + 0xe0], 0xb
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x461a3f
mov esi, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
inc eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x28]
push eax
push 1
push 1
push dword [ebp + 8]
mov dword [esp + 0x48], 0x67
mov dword [esp + 0x4c], esi
call dword [0x51a558]
push 0
push 0x8031
push esi
call ebx
fldz
sub esp, 0x10
fst qword [esp + 8]
lea eax, [esp + 0x8c]
fstp qword [esp]
push eax
call fcn.0046564e
mov byte [esp + 0xe0], 0xc
push dword [eax]
lea esi, [esp + 0x68]
call fcn.0040e1be
mov byte [esp + 0xe0], 0xe
lea ecx, [esp + 0x7c]
call fcn.004028da
mov eax, dword [esp + 0x64]
mov dword [esp + 0x4c], eax
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x461ac6
mov esi, dword [0x51a558]
and dword [esp + 0x3c], 0
sub eax, ecx
sar eax, 1
inc eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x28]
push eax
push 1
push 0xffffffffffffffff
push dword [esp + 0x20]
mov dword [esp + 0x48], 0x66
call esi
push 1
push 0x66
push dword [esp + 0x1c]
call edi
push 0x30
lea eax, [esp + 0xa8]
push 0
push eax
call fcn.004ce6f0
and dword [esp + 0xc4], 0
add esp, 0xc
lea eax, [esp + 0xa4]
push eax
push 1
push 0xffffffffffffffff
push dword [esp + 0x20]
mov dword [esp + 0xb4], 0x30
mov dword [esp + 0xb8], 0x142
mov dword [esp + 0xbc], 0x800
call esi
lea eax, [esp + 0x88]
push 0x12f
push eax
call fcn.0040df84
pop ecx
pop ecx
mov byte [esp + 0xe0], 0xf
push dword [eax]
lea esi, [esp + 0x74]
call fcn.0040e1be
mov byte [esp + 0xe0], 0x11
lea ecx, [esp + 0x88]
call fcn.004028da
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x461b9a
and dword [esp + 0x3c], 0
sub eax, ecx
sar eax, 1
inc eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x28]
push eax
push 1
push 0xffffffffffffffff
push dword [esp + 0x20]
mov dword [esp + 0x48], 0x8034
call dword [0x51a558]
lea eax, [esp + 0x98]
push 0x12d
push eax
call fcn.0040df84
pop ecx
pop ecx
mov byte [esp + 0xe0], 0x12
push dword [eax]
lea esi, [esp + 0x70]
call fcn.0040e1be
mov byte [esp + 0xe0], 0x14
lea ecx, [esp + 0x98]
call fcn.004028da
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x461c13
and dword [esp + 0x3c], 0
sub eax, ecx
sar eax, 1
inc eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x28]
push eax
push 1
push 0xffffffffffffffff
push dword [esp + 0x20]
mov dword [esp + 0x48], 0x8029
call dword [0x51a558]
lea eax, [esp + 0x90]
push 0x12e
push eax
call fcn.0040df84
pop ecx
pop ecx
mov byte [esp + 0xe0], 0x15
push dword [eax]
lea esi, [esp + 0x6c]
call fcn.0040e1be
mov byte [esp + 0xe0], 0x17
lea ecx, [esp + 0x90]
call fcn.004028da
mov eax, dword [esp + 0x68]
mov dword [esp + 0x4c], eax
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x461c8c
and dword [esp + 0x3c], 0
sub eax, ecx
sar eax, 1
inc eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x28]
push eax
push 1
push 0xffffffffffffffff
push dword [esp + 0x20]
mov dword [esp + 0x48], 0x802c
call dword [0x51a558]
lea eax, [esp + 0x80]
push 0xf7
push eax
call fcn.0040df84
pop ecx
pop ecx
mov byte [esp + 0xe0], 0x18
push dword [eax]
lea esi, [esp + 0x78]
call fcn.0040e1be
mov byte [esp + 0xe0], 0x1a
lea ecx, [esp + 0x80]
call fcn.004028da
mov eax, dword [esp + 0x74]
mov dword [esp + 0x4c], eax
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x461d05
mov esi, dword [0x51a558]
and dword [esp + 0x3c], 0
sub eax, ecx
sar eax, 1
inc eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x28]
push eax
push 1
push 0xffffffffffffffff
push dword [esp + 0x20]
mov dword [esp + 0x48], 0x8031
call esi
lea eax, [esp + 0xa4]
push eax
push 1
push 0xffffffffffffffff
push dword [esp + 0x20]
call esi
lea eax, [esp + 0x84]
push 0x130
push eax
call fcn.0040df84
pop ecx
pop ecx
mov byte [esp + 0xe0], 0x1b
push dword [eax]
lea esi, [esp + 0x7c]
call fcn.0040e1be
mov byte [esp + 0xe0], 0x1d
lea ecx, [esp + 0x84]
call fcn.004028da
mov esi, dword [esp + 0x78]
mov eax, esi
mov dword [esp + 0x4c], esi
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x461d94
and dword [esp + 0x3c], 0
sub eax, ecx
sar eax, 1
inc eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x28]
push eax
push 1
push 0xffffffffffffffff
push dword [esp + 0x20]
mov dword [esp + 0x48], 0x802e
call dword [0x51a558]
mov byte [esp + 0xe0], 0x1a
push esi
mov esi, dword [0x51a44c]
call esi
mov byte [esp + 0xe0], 0x17
push dword [esp + 0x74]
call esi
mov byte [esp + 0xe0], 0x14
push dword [esp + 0x68]
call esi
mov byte [esp + 0xe0], 0x11
push dword [esp + 0x6c]
call esi
mov byte [esp + 0xe0], 0xe
push dword [esp + 0x70]
call esi
mov byte [esp + 0xe0], 0xb
push dword [esp + 0x64]
call esi
mov byte [esp + 0xe0], 0xa
push dword [esp + 0x24]
call esi
mov byte [esp + 0xe0], 8
push str.FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
push dword [esp + 0x5c]
call fcn.004ca0f8
pop ecx
pop ecx
test eax, eax
jne 0x461ebb
mov esi, dword [ebp + 8]
push 1
push 0x8020
push esi
call edi
push 1
push 0x8029
push esi
call edi
push 1
push 0x802c
push esi
call edi
push 1
push 0x802e
push esi
call edi
push 1
push 0x8034
push esi
call edi
push 1
push 0x801d
push esi
call edi
push 1
push 0x8039
push esi
call edi
push 1
push 0x803c
push esi
call edi
push 1
push 0x803d
push esi
call edi
push 1
push 0x8042
push esi
call edi
push 0
push 0x803e
push esi
call ebx
jmp 0x461eca
mov esi, dword [esp + 0x20]
add esi, 0xffffffd4
call fcn.004655f7
mov esi, dword [ebp + 8]
mov byte [esp + 0xe0], 5
lea ecx, [esp + 0x94]
call fcn.004028da
jmp 0x461fb2
call fcn.00446e6f
push eax
call fcn.00447ea0
test eax, eax
je 0x461f00
push esi
mov esi, dword [ebp + 8]
push 0x800a
push esi
call edi
jmp 0x461f0f
push 1
push 0x800a
push dword [ebp + 8]
call edi
mov esi, dword [ebp + 8]
push 1
push 0x802c
push esi
call edi
push 1
push 0x8029
push esi
call edi
push 1
push 0x8034
push esi
call edi
push 0
push 0x8016
push esi
call ebx
push 1
push 0x800e
push esi
call edi
push 1
push 0x8020
push esi
call edi
push 1
push 0x802e
push esi
call edi
push 1
push 0x8039
push esi
call edi
push 1
push 0x801d
push esi
call edi
push 1
push 0x803c
push esi
call edi
push 1
push 0x803d
push esi
call edi
push 0
push 0x803e
push esi
call ebx
push 0
push 0x8054
push esi
call ebx
push 1
push 0x8042
push esi
call edi
push 0
push 0x8044
push esi
call ebx
push 1
push 0x8053
push esi
call edi
mov esi, dword [ebp + 8]
call fcn.00446e6f
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x461fc8
push 1
push 0x801a
push esi
call edi
call fcn.00409adf
test eax, eax
je 0x46202e
xor edi, edi
push edi
push 0x8023
push esi
call ebx
push edi
push 0x67
push esi
call ebx
push edi
push 0x802c
push esi
call ebx
push edi
push 0x8029
push esi
call ebx
push edi
push 0x8034
push esi
call ebx
push edi
push 0x802e
push esi
call ebx
push edi
push 0x8039
push esi
call ebx
push edi
push 0x801d
push esi
call ebx
mov edi, 0x400
push edi
push 2
push esi
call ebx
push edi
push 3
push esi
call ebx
push edi
push 4
jmp 0x46205b
call fcn.0044aa78
test eax, eax
je 0x46205e
xor edi, edi
push edi
push 0x802c
push esi
call ebx
push edi
push 0x8029
push esi
call ebx
push edi
push 0x8034
push esi
call ebx
push 0x400
push 3
push esi
call ebx
push 0
push 0x8034
push esi
call ebx
mov byte [esp + 0xe0], 2
push dword [esp + 0x5c]
call dword [0x51a44c]
mov byte [esp + 0xe0], 1
lea ecx, [esp + 0x60]
call fcn.004028da
mov byte [esp + 0xe0], 0
lea ecx, [esp + 0x58]
call fcn.004028da
or dword [esp + 0xe0], 0xffffffff
mov ecx, dword [esp + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4