Function at 0x10058150
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov ebp, dword [0x10258f60]
cmp byte [ebp], 0
je 0x10058476
mov edi, dword [esp + 0x30]
mov eax, dword [ebp + 0x199c]
cmp eax, dword [ebp + 0x1998]
je 0x10058184
call fcn.10057460
mov eax, dword [ebp + 0x1998]
mov dword [ebp + 0x19a0], eax
mov dword [ebp + 0x364], 0
mov dword [ebp + 0x360], 0
mov dword [ebp + 0x35c], 0
lea esi, [ebp + 0x1c2c]
mov ecx, esi
call fcn.10058490
test edi, edi
je 0x100581c8
cmp dword [edi + 0x18], 0
je 0x100581c8
mov ecx, esi
mov edx, edi
call fcn.10058590
mov eax, dword [ebp + 0x1b34]
test eax, eax
mov dword [esp + 0x18], esi
je 0x100581f0
xor ebx, ebx
test byte [eax + 9], 0x20
jne 0x100581e4
mov ebx, dword [eax + 0x2f0]
mov eax, dword [ebp + 0x1b3c]
mov dword [esp + 0x14], eax
jmp 0x100581fa
xor ebx, ebx
mov dword [esp + 0x14], 0
mov eax, dword [ebp + 0x19a4]
test eax, eax
je 0x1005826e
xor esi, esi
jmp 0x10058225
add ecx, dword [0x10258f60]
call fcn.1005e720
mov eax, dword [ebp + 0x19a4]
nop dword [eax]
inc esi
cmp esi, eax
je 0x1005826e
cmp eax, esi
jle 0x10058476
mov ecx, dword [ebp + 0x19ac]
mov edx, dword [ecx + esi*4]
cmp byte [edx + 0x7a], 0
je 0x10058220
cmp byte [edx + 0x81], 0
jne 0x10058220
mov edi, dword [edx + 8]
test edi, 0x1000000
jne 0x10058220
cmp edx, ebx
je 0x10058220
cmp edx, dword [esp + 0x14]
je 0x10058220
mov ecx, 0x1c2c
test edi, 0x2000000
je 0x10058208
mov ecx, 0x1c38
jmp 0x10058208
test ebx, ebx
je 0x100582a2
cmp byte [ebx + 0x7a], 0
je 0x100582a2
cmp byte [ebx + 0x81], 0
jne 0x100582a2
test dword [ebx + 8], 0x2000000
mov eax, 0x1c2c
mov ecx, 0x1c38
cmove ecx, eax
add ecx, dword [0x10258f60]
mov edx, ebx
call fcn.1005e720
mov edx, dword [esp + 0x14]
test edx, edx
mov esi, dword [esp + 0x18]
je 0x100582dc
cmp byte [edx + 0x7a], 0
je 0x100582dc
cmp byte [edx + 0x81], 0
jne 0x100582dc
test dword [edx + 8], 0x2000000
mov eax, 0x1c2c
mov ecx, 0x1c38
cmove ecx, eax
add ecx, dword [0x10258f60]
call fcn.1005e720
mov ecx, esi
call fcn.10057290
cmp byte [ebp + 0xac], 0
je 0x1005832e
mov eax, dword [ebp + 0x1cbc]
movss xmm0, dword [ebp + 0x15a0]
movss xmm1, dword [ebp + 0xe0]
movss xmm2, dword [ebp + 0xe4]
lea ecx, [ebp + 0x1c48]
mov dword [esp + 0x10], eax
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm1
mov dword [esp], ecx
call fcn.1006b330
cmp dword [ebp + 0x1c60], 0
je 0x10058344
lea edx, [ebp + 0x1c48]
mov ecx, esi
call fcn.10058590
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10058476
lea eax, [ebp + 0x1c00]
mov byte [eax], 1
mov edi, dword [esi]
test edi, edi
jle 0x10058369
mov edx, dword [ebp + 0x1c34]
jmp 0x1005836b
xor edx, edx
mov dword [ebp + 0x1c04], edx
mov dword [ebp + 0x1c08], edi
xorps xmm0, xmm0
movups xmmword [ebp + 0x1c0c], xmm0
movsd xmm0, qword [ecx + 0x10]
movsd qword [ebp + 0x1c1c], xmm0
movsd xmm0, qword [ecx + 0xa4]
movsd qword [ebp + 0x1c24], xmm0
test edi, edi
jle 0x100583bd
mov dword [esp + 0x18], eax
mov esi, dword [ebp + 0x1c34]
cmp edi, 1
mov dword [esp + 0x14], edi
jne 0x100583d6
xor edx, edx
xor edi, edi
xor ebx, ebx
jmp 0x10058429
mov dword [ebp + 0x35c], 0
mov dword [ebp + 0x360], 0
jmp 0x1005846e
mov ecx, edi
and ecx, 0xfffffffe
xor edx, edx
xor edi, edi
xor ebx, ebx
nop word cs:[eax + eax]
mov eax, dword [esi + ebx*4]
add edi, dword [eax + 0x18]
mov dword [ebp + 0x1c10], edi
mov eax, dword [esi + ebx*4]
add edx, dword [eax + 0xc]
mov dword [ebp + 0x1c0c], edx
mov eax, dword [esi + ebx*4 + 4]
add edi, dword [eax + 0x18]
mov dword [ebp + 0x1c10], edi
mov eax, dword [esi + ebx*4 + 4]
add edx, dword [eax + 0xc]
mov dword [ebp + 0x1c0c], edx
add ebx, 2
cmp ecx, ebx
jne 0x100583f0
test byte [esp + 0x14], 1
je 0x10058448
mov eax, dword [esi + ebx*4]
add edi, dword [eax + 0x18]
mov dword [ebp + 0x1c10], edi
mov eax, dword [esi + ebx*4]
add edx, dword [eax + 0xc]
mov dword [ebp + 0x1c0c], edx
mov dword [ebp + 0x35c], edi
mov dword [ebp + 0x360], edx
cmp dword [esp + 0x14], 0
jle 0x1005846e
mov eax, dword [ebp + 0xdc]
test eax, eax
je 0x1005846e
mov ecx, dword [esp + 0x18]
mov dword [esp], ecx
call eax
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3