Function at 0x4a04e0
Capabilities:
Terminate process

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x41c
mov edi, dword [0x507170]
mov edx, edi
mov eax, dword [0x4f195c]
mov esi, dword [0x507174]
xor eax, esp
mov dword [esp + 0x418], eax
or edx, esi
je 0x4a0807
mov edx, dword [esp + 0x434]
mov ebx, edx
mov eax, dword [esp + 0x438]
mov ecx, eax
and ebx, edi
and ecx, esi
sub ebx, edx
sub ecx, eax
or ebx, ecx
je 0x4a06f3
mov ecx, edx
xor ebx, ebx
and ecx, 1
or ecx, ebx
je 0x4a0562
push ebx
push ebx
push 1
call fcn.004a21d0
push 0
push 0x3a
push 1
call fcn.004a21d0
push ebx
push ebx
push 1
call fcn.004a21d0
add esp, 0x24
push 1
call fcn.004adb02
push 0
not edi
not esi
push 0x39
and edi, edx
and esi, eax
call fcn.004a2030
mov edx, eax
add esp, 8
mov ebp, ebx
xor ecx, ecx
inc ecx
mov eax, ebp
mov byte [esp + 0x18], 0
mov dword [esp], edx
mov dword [esp + 0x14], esi
mov esi, ecx
mov dword [esp + 0x10], edi
mov edi, eax
lea ecx, [esi - 1]
cmp ecx, 0x1f
ja 0x4a05a9
xor edx, edx
mov eax, 1
shld edx, eax, cl
shl eax, cl
jmp 0x4a05b2
mov edx, 1
xor eax, eax
shl edx, cl
and eax, dword [esp + 0x10]
and edx, dword [esp + 0x14]
or eax, edx
je 0x4a06ab
cmp esi, 0x33
jae 0x4a06d8
mov ebx, dword [esi*4 + 0x4d6660]
test ebx, ebx
je 0x4a06d8
cmp byte [ebx], 0
je 0x4a06d8
cmp byte [esp + 0x18], 0
je 0x4a0688
test ebp, ebp
je 0x4a0684
push ebp
call fcn.004b0c40
mov dword [esp + 0x10], eax
push 0x4d68bc
call fcn.004b0c40
mov dword [esp + 0x10], eax
push dword [esp + 8]
call fcn.004b0c40
mov dword [esp + 0x10], eax
push ebx
call fcn.004b0c40
add esp, 0x10
mov edx, dword [esp + 0xc]
add edx, edi
add edx, dword [esp + 8]
add edx, dword [esp + 4]
add edx, eax
cmp edx, 0x400
jae 0x4a0720
neg edi
lea edx, [esp + 0x18]
add edi, 0x3ff
push edi
push 0x4d68bc
push edx
call fcn.004afa50
lea eax, [esp + 0x24]
push eax
call fcn.004b0c40
neg eax
add eax, 0x3ff
push eax
push ebp
lea eax, [esp + 0x30]
push eax
call fcn.004afa50
lea eax, [esp + 0x34]
push eax
call fcn.004b0c40
mov edi, eax
add esp, 0x20
mov ebp, ebx
jmp 0x4a06ab
neg edi
lea edx, [esp + 0x18]
add edi, 0x3ff
push edi
push ebx
push edx
call fcn.004afa50
lea eax, [esp + 0x24]
push eax
call fcn.004b0c40
mov edi, eax
add esp, 0x10
inc esi
cmp esi, 0x2b
jg 0x4a07b1
test esi, esi
jg 0x4a0593
xor ebx, ebx
push ebx
push ebx
push 1
call fcn.004a21d0
push 0
push 0x3b
push 1
call fcn.004a21d0
jmp 0x4a054f
xor ebx, ebx
push ebx
push ebx
push 1
call fcn.004a21d0
push 0
push 0x3a
push 1
call fcn.004a21d0
jmp 0x4a054f
xor eax, eax
and edi, 0x20
or edi, eax
jne 0x4a07f1
mov ecx, dword [esp + 0x418]
xor ecx, esp
cmp ecx, dword [0x4f195c]
jne 0x4a07ec
add esp, 0x41c
pop ebp
pop ebx
pop edi
pop esi
ret
mov eax, edi
lea ecx, [esp + 0x18]
neg eax
xor ebx, ebx
add eax, 0x3ff
mov edx, dword [esp]
push eax
push edx
push ecx
call fcn.004afa50
lea eax, [esp + 0x24]
push eax
call fcn.004b0c40
neg eax
add eax, 0x3ff
push eax
push ebp
lea eax, [esp + 0x30]
push eax
call fcn.004afa50
lea eax, [esp + 0x34]
push eax
call fcn.004b0c40
add esp, 0x20
cmp byte [esp + 0x18], 0
jne 0x4a0784
push ebx
push ebx
push 1
call fcn.004a21d0
push 0
push 0x3a
push 1
call fcn.004a21d0
jmp 0x4a054f
push ebx
push ebx
push 1
call fcn.004a21d0
mov edx, 1
lea eax, [esp + 0x24]
push eax
push edx
push 0x38
push edx
call fcn.004a21d0
push ebx
push ebx
push 1
call fcn.004a21d0
add esp, 0x28
jmp 0x4a055b
mov edx, dword [esp]
mov eax, edi
xor ebx, ebx
test ebp, ebp
je 0x4a0764
neg eax
lea esi, [esp + 0x18]
add eax, 0x3ff
push eax
push edx
push esi
call fcn.004afa50
push esi
call fcn.004b0c40
neg eax
add eax, 0x3ff
push eax
push ebp
push esi
call fcn.004afa50
add esp, 0x1c
jmp 0x4a0764
call fcn.004a91cc
push dword [esp + 0x430]
push 0
call fcn.004a2440
add esp, 8
jmp 0x4a0700
call fcn.004a1160
mov edi, dword [0x507170]
mov eax, edi
mov esi, dword [0x507174]
or eax, esi
jne 0x4a050e
xor ebx, ebx
push ebx
push ebx
push 1
call fcn.004a21d0
push 0
push 0x3b
push 1
call fcn.004a21d0
jmp 0x4a054f