Function at 0x58df74
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push dword [0x57ea78]
push dword [0x496f60]
push dword [0x580f08]
call fcn.00482715
mov edx, 0x505f58
push dword [edx]
mov dword [edx], eax
push 0
push 0
push 0
push 0
sub esp, 0x1e8
mov dword [ebp - 0x24], esp
call fcn.0058d733
mov dword [ecx], esp
mov eax, esp
add eax, 0xf0
mov dword [0x540a27], eax
sub esp, 0x780
mov dword [ebp - 0x28], esp
call fcn.0058d739
mov dword [ecx], esp
lea ecx, [ebp - 0x18]
push ecx
push dword [0x505f58]
call fcn.0058d7b8
test eax, eax
je 0x58e286
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x24]
push dword [ebp - 0x14]
push dword [ebp + 8]
call fcn.0058dcf3
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x14]
call fcn.004193a5
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x14]
call fcn.004192c5
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x58e016
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
je 0x58e063
mov ecx, dword [ebp - 0x24]
movzx eax, byte [eax + ecx]
push 1
push eax
push dword [ebp + 8]
push dword [ebp - 4]
push dword [ebp - 0x20]
call fcn.0058dda7
push edx
push eax
push ecx
mov eax, edx
cmp al, 0x78
jae 0x58e049
xor edx, edx
xor ecx, ecx
mov cl, 3
div ecx
jmp 0x58e04b
sub al, 0x50
pop ecx
pop edx
push eax
push edx
push ecx
push dword [ebp - 0x18]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.0058d788
inc dword [ebp - 0x18]
jmp 0x58e013
mov byte [0x45a64a], al
xor edx, edx
mov byte [0x44cc30], dl
jmp 0x58e073
inc edx
cmp edx, 5
je 0x58e08e
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + edx + 0x21]
mov ecx, 0x53c2b0
mov byte [ecx + edx], al
mov byte [ecx + edx + 5], al
jmp 0x58e072
cdq
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], edx
mov dl, 0xff
push edx
push 0x1000
push dword [ebp - 0xc]
call fcn.0047fd13
add esp, 0xc
jmp 0x58e0ad
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
je 0x58e1c2
mov ecx, dword [ebp - 0x24]
movzx edx, byte [eax + ecx]
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0xc]
mov dword [ecx], edx
cdq
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
xor eax, eax
jmp 0x58e0d7
inc edx
cmp edx, dword [ebp - 0x18]
je 0x58e0e9
mov ecx, edx
shl ecx, 4
add ecx, dword [ebp - 0xc]
add eax, dword [ecx + 8]
jmp 0x58e0d6
mov ecx, dword [ebp - 0xc]
lea edx, [ecx + eax*2 + 0x1000]
mov eax, dword [ebp - 0x18]
shl eax, 4
mov dword [eax + ecx + 0xc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
push 2
push dword [ecx + eax*8 + 4]
push dword [ecx + eax*8]
call fcn.0058d46f
push ecx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x18]
shl edx, 4
add ecx, edx
push dword [ecx + 0xc]
push eax
call fcn.0058d4d0
test eax, eax
jne 0x58e145
push 0xff
push 0x10
mov eax, dword [ebp - 0x18]
shl eax, 4
add eax, dword [ebp - 0xc]
push eax
call fcn.0047fd13
add esp, 0xc
jmp 0x58e154
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0xc]
mov dword [ecx + 8], eax
inc dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
push 1
push dword [ecx + eax*8 + 4]
push dword [ecx + eax*8]
call fcn.0058d46f
push ecx
push dword [ebp - 8]
push eax
call fcn.0058d4d0
mov edx, eax
test eax, eax
je 0x58e19a
inc edx
shr edx, 1
shl edx, 2
sub esp, edx
shl eax, 0x10
push eax
shr eax, 0xf
lea ecx, [esp + 4]
push eax
push ecx
push dword [ebp - 8]
call fcn.0047fcfd
add esp, 0xc
jmp 0x58e1ae
mov ecx, dword [ebp + 8]
call fcn.00482715
movzx eax, word [ecx + 4]
push eax
mov eax, edx
inc eax
shl eax, 0x10
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + eax*8], esp
xor edx, edx
mov dword [ecx + eax*8 + 4], edx
jmp 0x58e0aa
call fcn.0058c978
mov al, 1
cmp byte [ebp - 0x18], 0
je 0x58e1d1
or al, 2
mov byte [ecx], al
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + 0x2b]
call fcn.0058d73f
mov dword [ecx], eax
mov ecx, dword [ebp + 8]
call fcn.00482715
movzx eax, word [eax*2 + 0x501000]
call fcn.0058d745
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 1
ja 0x58e242
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 8]
cmp eax, 1
jg 0x58e242
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
movzx eax, word [ecx + 2]
cmp eax, 1
ja 0x58e242
mov ecx, dword [ebp - 0x24]
movzx eax, byte [ecx]
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x2b], al
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0xc]
cmp edx, 0xffffffff
je 0x58e240
movzx edx, word [edx]
call fcn.00482715
mov word [eax*2 + 0x501000], dx
jmp 0x58e255
push 0
push dword [0x4b7508]
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.0058ce14
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x2b]
call fcn.0058d73f
xchg byte [ecx], al
mov byte [edx + 0x2b], al
mov ecx, dword [ebp + 8]
call fcn.00482715
movzx edx, word [eax*2 + 0x501000]
call fcn.0058d745
xchg word [ecx], dx
mov word [eax*2 + 0x501000], dx
mov eax, dword [ebp - 0x10]
mov dword [0x505f58], eax
xor eax, eax
call fcn.0058ce05
mov dword [ecx], eax
call fcn.0058c978
mov byte [ecx], al
leave
ret 4