Function at 0x58d15c
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x1e
push 0
push 0
dec ecx
jne 0x58d164
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00405164
xor eax, eax
push ebp
push 0x58dd82
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.0040cdc8
mov eax, dword [ebp - 0x2c]
call fcn.0040ca50
test al, al
je 0x58dd5c
mov eax, dword [0x5a8a54]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.0046cfac
mov eax, dword [0x5a820c]
mov eax, dword [eax]
call fcn.00427760
mov eax, dword [ebp - 4]
mov byte [eax + 0x424], 1
mov dl, 1
mov eax, dword [0x41bc60]
call fcn.00403d58
mov dword [ebp - 0x10], eax
mov dl, 1
mov eax, dword [0x41bc60]
call fcn.00403d58
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x428], ebx
mov byte [ebx + 0x1d], 1
xor eax, eax
push ebp
push 0x58dd55
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x34]
mov eax, dword [0x5a848c]
call fcn.004070b8
mov edx, dword [ebp - 0x34]
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x30]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x38]
mov eax, dword [0x5a83ac]
call fcn.004070b8
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x40]
mov eax, dword [0x5a8550]
mov eax, dword [eax]
call fcn.0046f7fc
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x3c]
mov edx, 0x58dd9c
call fcn.004bfd50
mov edx, dword [ebp - 0x3c]
pop eax
call fcn.00404f7c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
call fcn.0040e838
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x48]
call fcn.0040f4cc
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x44]
mov edx, 0x58ddb0
call fcn.00404fc0
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x4c]
mov eax, dword [0x5a87c8]
call fcn.004070b8
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x50]
mov edx, 0x58ddd0
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x54]
mov edx, 0x58ddf8
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x58]
mov edx, 0x58de14
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x5c]
mov edx, 0x58de30
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 3
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x60]
mov edx, 0x58de4c
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 4
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x64]
mov edx, 0x58de68
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 5
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x68]
mov edx, 0x58de84
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 6
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x6c]
mov edx, 0x58dea0
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 7
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x70]
mov edx, 0x58debc
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 9
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x74]
mov edx, 0x58ded8
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 8
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5a8008]
cmp byte [eax], 0
je 0x58d66b
lea ecx, [ebp - 0x78]
mov edx, 0x58def4
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0xa
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x7c]
mov edx, 0x58df10
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5a857c]
mov eax, dword [eax]
mov ebx, dword [eax + 8]
dec ebx
test ebx, ebx
jl 0x58d6be
inc ebx
xor esi, esi
mov eax, dword [0x5a857c]
mov eax, dword [eax]
mov edx, esi
call fcn.0041e1d0
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.0058ce0c
inc esi
dec ebx
jne 0x58d69e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x80]
mov edx, 0x58df2c
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5a8ac8]
mov eax, dword [eax]
mov ebx, dword [eax + 8]
dec ebx
test ebx, ebx
jl 0x58d724
inc ebx
xor esi, esi
mov eax, dword [0x5a8ac8]
mov eax, dword [eax]
mov edx, esi
call fcn.0041e1d0
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0058fd18
inc esi
dec ebx
jne 0x58d704
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x84]
mov edx, 0x58df48
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0xb
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x88]
mov edx, 0x58df64
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x420], 0
je 0x58d7fe
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x420]
lea eax, [ebp - 0x8c]
mov edx, 0x58df80
call fcn.00404fc0
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ebx, dword [0x5a8970]
mov ebx, dword [ebx]
test ebx, ebx
jle 0x58d850
push 0x58dfa0
lea edx, [ebp - 0x94]
mov eax, dword [0x5a8970]
mov eax, ebx
call fcn.0040c504
push dword [ebp - 0x94]
push 0x58dfc0
lea eax, [ebp - 0x90]
mov edx, 3
call fcn.00405034
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ebx, dword [0x5a8970]
mov ebx, dword [ebx + 4]
test ebx, ebx
jle 0x58d8a3
push 0x58dfcc
lea edx, [ebp - 0x9c]
mov eax, dword [0x5a8970]
mov eax, ebx
call fcn.0040c504
push dword [ebp - 0x9c]
push 0x58dfc0
lea eax, [ebp - 0x98]
mov edx, 3
call fcn.00405034
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ebx, dword [0x5a8970]
mov ebx, dword [ebx + 8]
test ebx, ebx
jle 0x58d8f6
push 0x58dfec
lea edx, [ebp - 0xa4]
mov eax, dword [0x5a8970]
mov eax, ebx
call fcn.0040c504
push dword [ebp - 0xa4]
push 0x58dfc0
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.00405034
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ebx, dword [0x5a8970]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jle 0x58d9a9
mov eax, dword [0x5a7d10]
cmp dword [eax], 1
jne 0x58d959
push 0x58e00c
lea edx, [ebp - 0xac]
mov eax, dword [0x5a8970]
mov eax, ebx
call fcn.0040c504
push dword [ebp - 0xac]
push 0x58dfc0
lea eax, [ebp - 0xa8]
mov edx, 3
call fcn.00405034
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58d9a9
mov eax, dword [0x5a7d10]
cmp dword [eax], 2
jne 0x58d9a9
push 0x58e02c
lea edx, [ebp - 0xb4]
mov eax, dword [0x5a8970]
mov eax, ebx
call fcn.0040c504
push dword [ebp - 0xb4]
push 0x58dfc0
lea eax, [ebp - 0xb0]
mov edx, 3
call fcn.00405034
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ebx, dword [0x5a8970]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
jle 0x58d9fc
push 0x58e04c
lea edx, [ebp - 0xbc]
mov eax, dword [0x5a8970]
mov eax, ebx
call fcn.0040c504
push dword [ebp - 0xbc]
push 0x58e06c
lea eax, [ebp - 0xb8]
mov edx, 3
call fcn.00405034
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5a7d54]
cmp dword [eax], 0
je 0x58db2a
lea ecx, [ebp - 0xc0]
mov edx, 0x58e07c
mov eax, dword [ebp - 4]
call fcn.005878e4
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5a7d54]
mov eax, dword [eax]
call fcn.0054b4ec
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x58db17
inc ebx
xor esi, esi
mov eax, dword [0x5a7d54]
mov eax, dword [eax]
mov edx, esi
call fcn.0054b4d0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea eax, [ebp - 0xc4]
mov edx, 0x58e098
call fcn.00404fc0
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0xc8]
mov edx, 0x58e0b8
call fcn.00404fc0
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x10]
lea eax, [ebp - 0xcc]
mov edx, 0x58e0d8
call fcn.00404fc0
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc esi
dec ebx
jne 0x58da6e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, 0x58ddec
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x5a807c]
cmp dword [eax], 5
jne 0x58dc3d
mov eax, dword [0x5a8680]
cmp dword [eax], 1
jne 0x58dc3d
mov eax, 0x104
call fcn.0040d304
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
call fcn.0040d318
push eax
mov eax, dword [ebp - 0x24]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0xd4]
mov eax, dword [ebp - 0x24]
call fcn.0040d2f0
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0xd0]
call fcn.004113fc
lea eax, [ebp - 0xd0]
mov edx, 0x58e0f8
call fcn.00404f7c
mov eax, dword [ebp - 0xd0]
call fcn.0040ca40
test al, al
je 0x58dc35
mov dl, 1
mov eax, dword [0x41bc60]
call fcn.00403d58
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0xdc]
mov eax, dword [ebp - 0x24]
call fcn.0040d2f0
mov eax, dword [ebp - 0xdc]
lea edx, [ebp - 0xd8]
call fcn.004113fc
lea eax, [ebp - 0xd8]
mov edx, 0x58e0f8
call fcn.00404f7c
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x58dc2d
inc ebx
xor esi, esi
lea ecx, [ebp - 0xe0]
mov edx, esi
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc esi
dec ebx
jne 0x58dc05
mov eax, dword [ebp - 0x28]
call fcn.00403d88
mov eax, dword [ebp - 0x24]
call fcn.0040d360
mov byte [ebp - 0x11], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x58dced
inc ebx
xor esi, esi
lea ecx, [ebp - 0xe8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0xe4]
call fcn.0040c11c
cmp dword [ebp - 0xe4], 0
jne 0x58dcbd
cmp byte [ebp - 0x11], 0
jne 0x58dce5
lea ecx, [ebp - 0xec]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov byte [ebp - 0x11], 1
jmp 0x58dce5
lea ecx, [ebp - 0xf0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
mov edx, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov byte [ebp - 0x11], 0
inc esi
dec ebx
jne 0x58dc5d
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x74]
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x58dd5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x428]
call fcn.00403d88
mov eax, dword [ebp - 0x10]
call fcn.00403d88
mov eax, dword [ebp - 4]
mov byte [eax + 0x424], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x40c]
mov eax, dword [ebp - 4]
call fcn.00585f44
mov eax, dword [0x5a820c]
mov eax, dword [eax]
call fcn.004277cc
mov eax, dword [0x5a8a54]
mov eax, dword [eax]
xor edx, edx
call fcn.0046cfac
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x58dd89
lea eax, [ebp - 0xf0]
mov edx, 0x32
call fcn.00404cd8
lea eax, [ebp - 8]
call fcn.00404cb4
ret