Function at 0x10258209
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov edx, dword [ebp + 0x10]
sub esp, 0xc
cmp byte [0x102e2b34], 0
push ebx
mov bl, byte [ebp + 8]
push esi
push edi
mov edi, dword [ebp + 0xc]
jne 0x1025802b
cmp bl, 0xf4
je 0x1025802b
mov al, byte [edi]
cmp al, 0xc1
je 0x10258012
cmp al, 0xc3
je 0x10258012
cmp al, 0xc2
je 0x1025800e
cmp al, 0xc4
je 0x1025800e
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, 4
jmp 0x10258014
mov al, 3
movzx ecx, al
cmp ecx, edx
jae 0x1025802b
nop dword [eax + eax]
sub byte [ecx + edi], bl
lea eax, [ecx + edi]
inc ecx
cmp ecx, edx
jb 0x10258020
push edx
mov edx, edi
mov cl, bl
call fcn.10257970
movzx ebx, bl
add esp, 4
lea eax, [ebx - 0x14]
cmp eax, 0xe6
ja case.0x10258050.21
movzx eax, byte [eax + 0x1025863c]
jmp dword [eax*4 + 0x102585fc]
cmp byte [edi], 0xc1
jne 0x10258061
mov al, byte [edi + 3]
jmp 0x10258064
mov al, byte [edi + 4]
cmp al, 3
jne case.0x10258050.21
movzx esi, word [edi + 0x14]
lea eax, [edi + 4]
push eax
xorps xmm0, xmm0
push 0x102d8574
push 0x102e1f78
movups xmmword [0x102e1f78], xmm0
call fcn.100092d0
add esp, 0xc
mov word [0x102e1f74], si
jmp case.0x10258050.21
push edi
call fcn.1000ad50
jmp case.0x10258050.21
cmp byte [edi], 0xc1
jne 0x102580b1
mov al, byte [edi + 3]
jmp 0x102580b4
mov al, byte [edi + 4]
movzx eax, al
add eax, 0xffffffec
cmp eax, 0xc
ja case.0x10258050.21
movzx eax, byte [eax + 0x10258738]
jmp dword [eax*4 + 0x10258724]
movzx eax, byte [edi + 8]
sub esp, 8
push eax
call fcn.100095b0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi + 8]
movzx eax, byte [edi + 4]
push eax
call fcn.10009a50
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [edi + 4]
push eax
call fcn.10009810
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.102589c0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x102ddd89], 0
je case.0x10258050.21
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl ecx, 9
add ecx, eax
movzx eax, cx
cmp eax, dword [0x102e1f44]
je case.0x10258050.21
mov al, byte [edi + 5]
cmp al, 3
je case.0x102583f3.180
cmp al, 0x11
jne case.0x10258050.21
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl ecx, 8
or ecx, eax
and ecx, 0x7fff
cmp dword [0x102e1f44], ecx
jne case.0x10258050.21
mov dword [0x102e1f40], 0
jmp case.0x10258050.21
cmp byte [edi], 0xc1
jne 0x102581a8
mov al, byte [edi + 3]
jmp 0x102581ab
mov al, byte [edi + 4]
movzx eax, al
sub eax, 0
je 0x102581cb
sub eax, 1
jne case.0x10258050.21
movzx eax, byte [edi + 4]
push eax
call fcn.102599b0
jmp case.0x10258050.21
mov ecx, edi
call fcn.102588a0
jmp case.0x10258050.21
cmp byte [edi], 0xc1
jne 0x102581e1
mov al, byte [edi + 3]
jmp 0x102581e4
mov al, byte [edi + 4]
cmp al, 0x51
jne case.0x10258050.21
cmp dword [0x102e2b2c], 0
jne case.0x10258050.21
cmp byte [edi + 0xc], 0
sete byte [0x102e2b18]
jmp case.0x10258050.21
cmp byte [edi], 0xc1
jne 0x10258213
mov al, byte [edi + 3]
jmp 0x10258216
mov al, byte [edi + 4]
movzx eax, al
sub eax, 0
je 0x10258260
sub eax, 1
je 0x10258251
sub eax, 1
jne case.0x10258050.21
cmp byte [edi + 4], al
jne 0x10258238
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [0x102e2b30], 2
mov dword [0x102e2b2c], 0
jmp case.0x10258050.21
movzx eax, byte [edi + 4]
push eax
call fcn.10259a20
jmp case.0x10258050.21
mov ecx, edi
call fcn.102588f0
jmp case.0x10258050.21
mov eax, dword [edi + 3]
lea ecx, [esp + 0x10]
mov edx, 8
mov dword [esp + 0x10], 0x1fa08c1
mov dword [esp + 0x14], eax
call fcn.10258aa0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi], 0xc1
jne 0x1025829f
mov al, byte [edi + 3]
jmp 0x102582a2
mov al, byte [edi + 4]
movzx eax, al
add eax, 0xfffffff4
cmp eax, 0xc
ja case.0x10258050.21
movzx eax, byte [eax + 0x1025875c]
jmp dword [eax*4 + 0x10258748]
push edi
call fcn.10002ef0
jmp case.0x10258050.21
push edi
call fcn.10003030
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call fcn.10003350
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call fcn.10003a90
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl ecx, 8
or ecx, eax
and ecx, 0x7fff
cmp dword [0x102e1f44], ecx
jne case.0x10258050.21
mov eax, dword [edi + 0xd]
mov dword [0x102e1f40], eax
mov eax, dword [edi + 0x11]
mov dword [0x102e1f3c], eax
jmp case.0x10258050.21
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl ecx, 8
or ecx, eax
and ecx, 0x7fff
cmp dword [0x102e1f44], ecx
jne case.0x10258050.21
mov eax, dword [edi + 0x11]
mov dword [0x102e1f40], eax
mov eax, dword [edi + 0x15]
mov dword [0x102e1f3c], eax
jmp case.0x10258050.21
mov al, byte [edi + 3]
cmp al, 0xfe
jne 0x1025837a
mov eax, dword [edi + 9]
mov dword [0x102e1f30], eax
mov eax, dword [edi + 0xd]
mov dword [0x102e1f2c], eax
jmp case.0x10258050.21
cmp al, 0xff
jne case.0x10258050.21
mov eax, dword [edi + 9]
mov dword [0x102e1f40], eax
mov eax, dword [edi + 0xd]
mov dword [0x102e1f3c], eax
jmp case.0x10258050.21
mov al, byte [edi + 3]
cmp al, 0xfe
jne 0x102583a9
mov eax, dword [edi + 8]
mov dword [0x102e1f28], eax
mov eax, dword [edi + 0xc]
mov dword [0x102dff24], eax
jmp case.0x10258050.21
cmp al, 0xff
jne case.0x10258050.21
mov eax, dword [edi + 8]
mov dword [0x102e1f38], eax
mov eax, dword [edi + 0xc]
mov dword [0x102e1f34], eax
push 1
push dword [ebp + 0x10]
mov eax, 0xd5758d
push edi
push ebx
call eax
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi], 0xc1
jne 0x102583df
mov al, byte [edi + 3]
jmp 0x102583e2
mov al, byte [edi + 4]
movzx eax, al
cmp eax, 0xe2
ja case.0x10258050.21
movzx eax, byte [eax + 0x102587b8]
jmp dword [eax*4 + 0x1025876c]
call fcn.10259ab0
cmp dword [0x102e2b30], 1
jne case.0x10258050.21
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.10258930
jmp 0x102583ff
mov eax, dword [edi + 0x20]
mov dword [0x102e1f40], eax
mov eax, dword [edi + 0x24]
mov dword [0x102e1f38], eax
mov eax, dword [edi + 0x2c]
mov dword [0x102e1f3c], eax
mov eax, dword [edi + 0x28]
jmp 0x102583b8
mov eax, dword [edi + 0x18]
mov dword [0x102e1f30], eax
mov eax, dword [edi + 0x1c]
mov dword [0x102e1f28], eax
mov eax, dword [edi + 0x24]
mov dword [0x102e1f2c], eax
mov eax, dword [edi + 0x20]
mov dword [0x102dff24], eax
mov ax, word [edi + 4]
mov word [0x102e1f67], ax
jmp case.0x10258050.21
mov eax, dword [edi + 0x20]
mov dword [0x102e1f30], eax
mov eax, dword [edi + 0x24]
mov dword [0x102e1f28], eax
mov eax, dword [edi + 0x2c]
mov dword [0x102e1f2c], eax
mov eax, dword [edi + 0x28]
mov dword [0x102dff24], eax
jmp case.0x10258050.21
mov eax, dword [edi + 0x14]
mov dword [0x102e1f30], eax
mov eax, dword [edi + 0x18]
mov dword [0x102e1f28], eax
mov eax, dword [edi + 0x20]
mov dword [0x102e1f2c], eax
mov eax, dword [edi + 0x1c]
mov dword [0x102dff24], eax
mov ax, word [edi + 4]
mov word [0x102e1f69], ax
jmp case.0x10258050.21
push edi
call fcn.10002d30
jmp case.0x10258050.21
push 0x102d86ec
lea eax, [edi + 5]
push eax
movzx eax, byte [edi + 4]
push eax
call fcn.102591e0
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call fcn.1000ae30
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
mov dword [0x102e2088], eax
mov eax, dword [edi + 8]
mov dword [0x102e208c], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.1000ff70
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [edi + 4]
push eax
lea eax, [edi + 0x69]
push eax
lea eax, [edi + 5]
push eax
call fcn.10259130
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 4], 1
sete byte [0x102e1fb4]
mov eax, dword [edi + 5]
mov dword [0x102e1fb8], eax
cmp byte [edi + 9], 1
sete byte [0x102e1fbc]
mov eax, dword [edi + 0xa]
mov dword [0x102e1fc0], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [edi]
mov ecx, 0x102dfd3d
movups xmmword [0x102e1f58], xmm0
mov eax, dword [edi + 0x10]
mov dword [0x102e1f68], eax
mov ax, word [edi + 0x14]
mov word [0x102e1f6c], ax
mov al, byte [edi + 0x16]
mov byte [0x102e1f6e], al
mov al, 1
xchg byte [ecx], al
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
mov dword [0x102e1f50], eax
mov eax, dword [edi + 4]
mov dword [0x102e1f54], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.10258e40
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.102590a0
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret