Function at 0x41b4a0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
push esi
push edi
push 0x5c
push eax
mov byte [ebp - 8], 0
call fcn.0041fcd0
add esp, 8
test eax, eax
mov dword [0x446138], eax
jne 0x41b4d0
mov ecx, dword [ebx]
mov dword [0x446138], ecx
jmp 0x41b4d6
inc eax
mov dword [0x446138], eax
push 0x446138
lea edx, [ebp + 8]
push ebx
push edx
call fcn.0041bfb0
call fcn.004183e0
call fcn.0041b1e0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 4]
push eax
push 0x443e70
push 0x4439f0
push ebx
or esi, 0xffffffff
push ecx
mov dword [ebp - 4], esi
call fcn.0040e6e0
add esp, 0x20
cmp eax, esi
je 0x41b6f9
mov ecx, dword [ebp - 4]
cmp ecx, esi
jne 0x41b532
cmp eax, 0x3f
je 0x41b783
movzx ecx, byte [eax + 0x444c40]
mov dword [ebp - 4], ecx
shl ecx, 4
mov ecx, dword [ecx + 0x443e7c]
mov eax, ecx
and eax, 0xfffffbff
lea esi, [eax + eax*4]
mov edx, dword [esi*4 + 0x43b9c8]
cmp edx, 8
lea esi, [esi*4 + 0x43b9c0]
ja case.default.0x41b55c
jmp dword [edx*4 + 0x41bc6c]
mov edx, dword [esi]
mov eax, dword [0x44615c]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
jmp 0x41b6c8
mov eax, dword [0x44615c]
test eax, eax
je 0x41b58b
mov edx, dword [esi]
push edx
push eax
mov eax, dword [esi + 0xc]
push eax
jmp 0x41b6c8
shr ecx, 0xa
test cl, 1
mov eax, 0x4349d4
jne 0x41b59d
mov eax, 0x430ca8
mov ecx, dword [esi]
mov edx, dword [esi + 0xc]
push ecx
push eax
push edx
jmp 0x41b6c8
call dword [esi + 0xc]
jmp case.default.0x41b55c
mov eax, dword [esi]
mov ecx, dword [0x44615c]
push eax
push ecx
push 0x4320dc
call fcn.00417900
mov byte [ebp - 8], 1
jmp 0x41b6cd
mov edx, dword [0x44615c]
push edx
call fcn.00417990
add esp, 4
jmp case.default.0x41b55c
mov edi, dword [0x44615c]
mov al, byte [edi]
test al, al
je case.default.0x41b55c
movsx eax, al
add eax, 0xffffffb8
cmp eax, 0x2e
ja case.0x41b609.73
movzx eax, byte [eax + 0x41bca8]
jmp dword [eax*4 + 0x41bc90]
mov ecx, dword [esi]
push ecx
push 0x4349d4
push 0x431eac
jmp 0x41b659
mov edx, dword [esi]
push edx
push 0x4349d4
push 0x432328
jmp 0x41b659
mov eax, dword [esi]
push eax
push 0x4349d4
push 0x432288
jmp 0x41b659
mov ecx, dword [esi]
push ecx
push 0x430ca8
push 0x4320c0
jmp 0x41b659
mov edx, dword [esi]
push edx
push 0x430ca8
push 0x4320b4
call fcn.00417900
mov al, byte [edi + 1]
add esp, 0xc
inc edi
test al, al
jne 0x41b5f3
jmp case.default.0x41b55c
mov ecx, dword [0x44615c]
test ecx, ecx
je 0x41b699
mov al, byte [ecx]
cmp al, 0x31
je 0x41b699
movzx eax, al
mov al, byte [eax + 0x42e5d8]
cmp al, 0x79
je 0x41b699
cmp al, 0x6f
jne 0x41b6a0
movzx ecx, byte [ecx + 1]
cmp byte [ecx + 0x42e5d8], 0x6e
jne 0x41b6a0
mov ecx, 0x4349d4
jmp 0x41b6a5
mov ecx, 0x430ca8
cmp edx, 8
mov eax, 0x4320b4
je 0x41b6b4
mov eax, 0x4320c0
mov edx, dword [esi]
push edx
push ecx
push eax
jmp 0x41b6c8
mov eax, dword [esi]
push eax
push 0x4349d4
push 0x431f78
call fcn.00417900
add esp, 0xc
mov edx, dword [ebp + 8]
lea ecx, [ebp - 4]
push ecx
push 0x443e70
push 0x4439f0
push ebx
or esi, 0xffffffff
push edx
mov dword [ebp - 4], esi
call fcn.0040e6e0
add esp, 0x14
cmp eax, esi
jne 0x41b518
mov eax, dword [0x445ff4]
test eax, eax
jne 0x41b708
mov dword [0x445ff4], esi
mov al, byte [0x44610a]
test al, al
je 0x41b734
mov al, byte [0x445fef]
test al, al
jne 0x41b734
mov al, byte [0x445ff9]
test al, al
mov dword [0x445ff4], 0
jne 0x41b734
mov byte [0x445ff8], 1
mov eax, dword [0x445fe0]
cmp eax, esi
mov cl, byte [0x445fe4]
jne 0x41b74f
xor eax, eax
test cl, cl
sete al
mov dword [0x445fe0], eax
test eax, eax
je 0x41b802
test cl, cl
je 0x41b802
push 0x4349a4
call fcn.0042168b
mov eax, dword [0x446138]
push eax
push 0x43464c
call fcn.0042168b
add esp, 0xc
push 1
call fcn.0042153a
mov eax, dword [0x446138]
push eax
push 0x43464c
call fcn.0042168b
push 0x42ec58
call fcn.0042168b
mov ecx, dword [0x446138]
push ecx
push 0x434980
call fcn.0042168b
add esp, 0x14
push 2
call fcn.0042153a
movsx edx, byte [edi]
mov eax, dword [0x446138]
push edx
push eax
push 0x434960
call fcn.0042168b
mov ecx, dword [0x446138]
push ecx
push 0x43464c
call fcn.0042168b
push 0x42ec58
call fcn.0042168b
mov edx, dword [0x446138]
push edx
push 0x434980
call fcn.0042168b
add esp, 0x20
push 1
call fcn.0042153a
mov cl, byte [0x4460df]
test cl, cl
je 0x41b83b
mov cl, byte [0x446002]
test cl, cl
je 0x41b83b
push 0x434920
call fcn.0042168b
mov ecx, dword [0x446138]
push ecx
push 0x43464c
call fcn.0042168b
add esp, 0xc
push 1
call fcn.0042153a
mov ecx, dword [ebp + 8]
sub ecx, dword [0x43b128]
mov dword [ebp - 0xc], ecx
jne 0x41b899
mov ecx, dword [0x44600c]
test ecx, ecx
jne 0x41b899
mov edx, dword [0x446138]
push edx
push 0x43490c
call fcn.0042168b
mov eax, dword [0x446138]
push eax
push 0x43464c
call fcn.0042168b
push 0x42ec58
call fcn.0042168b
mov ecx, dword [0x446138]
push ecx
push 0x434980
call fcn.0042168b
add esp, 0x1c
push 1
call fcn.0042153a
mov cl, byte [0x445fed]
test cl, cl
je 0x41b8ad
call fcn.0041c2e0
mov eax, dword [0x445fe0]
test eax, eax
je 0x41b8c0
mov edx, dword [0x446080]
push edx
call fcn.004106f0
add esp, 4
mov edi, dword [ebp - 0xc]
lea eax, [edi*4 + 4]
add eax, 3
and eax, 0xfffffffc
call fcn.0041e3c0
xor esi, esi
test edi, edi
mov ebx, esp
jle 0x41b91f
mov edi, dword [ebp + 0xc]
mov eax, dword [0x43b128]
mov ecx, dword [edi + eax*4]
push ecx
call fcn.00414520
add esp, 4
test eax, eax
jne 0x41b907
mov edx, dword [0x43b128]
mov eax, dword [edi + edx*4]
push eax
call fcn.0041bf20
add esp, 4
mov dword [ebx + esi*4], eax
mov ecx, dword [0x43b128]
mov eax, dword [ebp - 0xc]
inc esi
inc ecx
cmp esi, eax
mov dword [0x43b128], ecx
jl 0x41b8e0
mov ecx, dword [ebp - 8]
mov dword [ebx + esi*4], 0
mov edx, dword [0x446008]
push ecx
push edx
call fcn.0041da20
mov al, byte [0x4460de]
add esp, 8
test al, al
je 0x41b95a
mov eax, dword [0x43c414]
push 0x4348fc
push eax
push 0x4348d0
call fcn.0041e0b0
add esp, 0xc
mov eax, dword [0x446040]
test eax, eax
je 0x41b9ec
cmp byte [eax], 0x2d
jne 0x41b97f
mov cl, byte [eax + 1]
test cl, cl
jne 0x41b97f
mov dword [0x446154], 0x43c7f0
jmp 0x41b9ec
mov cl, byte [0x44604c]
test cl, cl
mov ecx, 0x42efbc
jne 0x41b993
mov ecx, 0x42e908
push ecx
push eax
call fcn.0041eba1
add esp, 8
test eax, eax
mov dword [0x446154], eax
jne 0x41b9bc
mov ecx, dword [0x446040]
push ecx
call fcn.004219cc
add esp, 4
push 1
call fcn.0042153a
lea edx, [ebp - 0x44]
push edx
push eax
call fcn.0042d852
add esp, 4
push eax
call fcn.004216f1
add esp, 8
test eax, eax
jne 0x41b9ec
mov eax, dword [ebp - 0x3e]
and eax, 0xf000
cmp eax, 0x8000
jne 0x41b9ec
mov byte [0x446150], 1
call fcn.0041c480
cmp dword [ebx], 0
mov edi, 0x1f
mov esi, ebx
je 0x41baed
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], eax
mov al, byte [0x445fef]
test al, al
jne 0x41ba1b
mov al, byte [0x44610a]
test al, al
je 0x41ba38
mov ecx, dword [esi]
push ecx
call fcn.004143d0
add esp, 4
cmp eax, 1
je 0x41ba38
mov edx, dword [esi]
push edx
call fcn.00413320
add esp, 4
jmp 0x41ba51
lea eax, [ebp - 0x14]
push eax
mov eax, dword [esi]
push 0
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 8]
push edx
push eax
call fcn.00412720
add esp, 0x14
mov edi, eax
mov al, byte [0x446108]
test al, al
je 0x41babf
mov ecx, dword [ebp - 8]
push ecx
call fcn.00418cc0
add esp, 4
test al, al
je 0x41babf
mov al, byte [0x4460de]
test al, al
je 0x41ba82
push 0x4348a0
call fcn.0041e0b0
add esp, 4
mov edx, dword [ebp - 8]
push edx
push 0x42ff24
push 0
call fcn.0041e020
mov eax, dword [ebp - 8]
push eax
call fcn.0042d80c
add esp, 0x10
test eax, eax
je 0x41babf
call fcn.0041e306
mov ecx, dword [eax]
push ecx
call fcn.0041cbf0
push eax
push 0x42ff18
push 1
call fcn.0041e020
add esp, 0x10
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x41bacf
push eax
call fcn.0041bf50
add esp, 4
mov eax, dword [ebp - 8]
test eax, eax
je 0x41badf
push eax
call fcn.0041bf50
add esp, 4
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x41ba01
mov eax, dword [0x44600c]
test eax, eax
je 0x41bb2b
xor ecx, ecx
mov cl, byte [0x446010]
lea edx, [ebp - 0x10]
push edx
push ecx
push eax
call fcn.00412c10
mov edi, eax
mov eax, dword [ebp - 0x10]
add esp, 0xc
test eax, eax
jne 0x41bb2b
mov edx, dword [0x44600c]
push edx
push 0x434888
push 1
call fcn.0041e020
add esp, 0xc
mov al, byte [0x445fef]
test al, al
jne 0x41bb50
mov al, byte [0x44610a]
test al, al
jne 0x41bb50
cmp dword [ebp - 0xc], 1
jg 0x41bb50
mov eax, dword [0x44600c]
test eax, eax
je 0x41bc06
mov eax, dword [0x446148]
mov ecx, dword [0x44614c]
mov edx, eax
or edx, ecx
je 0x41bc06
fld qword [0x446140]
sub esp, 8
fstp qword [esp]
push ecx
push eax
call fcn.00412600
fld qword [0x446140]
add esp, 0x10
push eax
sub esp, 8
fstp qword [esp]
call fcn.0041b390
mov ecx, dword [0x446148]
add esp, 8
push eax
mov eax, dword [0x44614c]
push eax
push ecx
call fcn.00419700
mov edx, dword [0x4460d8]
add esp, 8
push eax
push edx
push 0
call fcn.00418b70
add esp, 4
push eax
push 0x434850
push 1
call fcn.0041e020
mov eax, dword [0x4460d0]
mov ecx, dword [0x4460d4]
mov edx, eax
add esp, 0x1c
or edx, ecx
je 0x41bc06
mov edx, dword [0x44614c]
cmp edx, ecx
jl 0x41bc06
jg 0x41bbef
mov edx, dword [0x446148]
cmp edx, eax
jbe 0x41bc06
push ecx
push eax
call fcn.00419700
push eax
push 0x434830
push 1
call fcn.0041e020
add esp, 0x14
mov eax, dword [0x446118]
test eax, eax
je 0x41bc14
call fcn.00406030
mov al, byte [0x4460ec]
test al, al
je 0x41bc2b
mov al, byte [0x446108]
test al, al
jne 0x41bc2b
call fcn.004033a0
call fcn.0041dab0
mov eax, dword [ebp - 0xc]
xor esi, esi
test eax, eax
jle 0x41bc54
lea esp, [esp]
mov eax, dword [ebx + esi*4]
push eax
call fcn.0041bf50
mov eax, dword [ebp - 0xc]
add esp, 4
inc esi
cmp esi, eax
jl 0x41bc40
call fcn.00418200
xor eax, eax
cmp edi, 0x1f
setne al
lea esp, [ebp - 0x50]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret