Function at 0x58e890
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov dword [0x839e50], ebx
mov dword [0x839eec], ebx
mov eax, dword [esi + 0x5c]
push edi
cmp eax, 3
je 0x58f744
cmp dword [esi + 0x128], ebx
jne 0x58f744
cmp dword [ebp + 8], 0xffffffff
je 0x58f744
mov ecx, 0x80fe50
call fcn.00530b80
mov ecx, dword [esi + 0x5c]
mov dword [ebp - 4], eax
cmp ecx, 4
jne 0x58e90e
mov ecx, dword [esi + 0x290]
mov dword [esi + 4], ecx
fld dword [esi + 0x294]
fst dword [ebp - 8]
fstp dword [esi + 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [eax + 0xb4]
mov ecx, dword [esi + 4]
push edx
push ecx
mov ecx, dword [eax + 0x40]
call fcn.00424a80
fstp dword [esi + 8]
mov eax, dword [ebp + 8]
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
cmp eax, 0x2d
ja case.0x58e920.6
jmp dword [eax*4 + 0x58f750]
mov ecx, esi
call fcn.0058e440
push eax
mov ecx, 0x8365d0
call fcn.006f1a30
test eax, eax
je 0x58e99a
mov edx, dword [esi + 0x21c]
mov eax, dword [esi]
mov ecx, esi
mov dword [ebp - 8], edx
call dword [eax + 0x7c]
mov ecx, dword [ebp - 8]
push eax
push ecx
mov ecx, esi
call fcn.0058e440
push eax
mov ecx, 0x8365d0
call fcn.006d5fe0
test al, al
je 0x58e981
mov edx, dword [esi]
push 1
push 4
push 0x58
mov ecx, esi
call dword [edx + 0x1c]
mov byte [esi + 0x8a], 1
jmp case.0x58e920.6
mov eax, dword [esi]
push 1
push 4
push 0x50
mov ecx, esi
call dword [eax + 0x1c]
mov byte [esi + 0x8a], 1
jmp case.0x58e920.6
mov edx, dword [esi]
push 1
push 4
push 0x10
mov ecx, esi
call dword [edx + 0x1c]
mov byte [esi + 0x8a], 1
jmp case.0x58e920.6
cmp dword [esi + 0xb4], ebx
jne 0x58f744
cmp dword [esi + 0xc4], ebx
jne 0x58f744
cmp dword [esi + 0xc8], ebx
jne 0x58f744
mov eax, dword [esi + 0x208]
mov ecx, dword [0x838074]
cmp eax, ecx
jne 0x58e9f5
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb4]
mov eax, dword [ecx + 0x3c]
jmp 0x58ea04
mov edx, dword [ebp - 4]
push eax
mov ecx, dword [edx + 0xb4]
call fcn.00526d60
cmp eax, ebx
je 0x58ea15
mov edx, dword [eax]
push ebx
push ebx
push ebx
push 0x57
push ebx
mov ecx, eax
call dword [edx + 8]
mov eax, dword [esi]
push 1
push 5
push 0x30
mov ecx, esi
call dword [eax + 0x1c]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2c]
jmp case.0x58e920.6
cmp dword [esi + 0x5c], 6
je 0x58f744
mov edx, dword [esi]
push 1
push 3
push 0x50
mov ecx, esi
call dword [edx + 0x1c]
mov edx, dword [esi + 0x208]
mov eax, dword [0x838074]
cmp edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xb4]
jne 0x58eacf
mov eax, dword [ecx + 0x3c]
mov ecx, dword [esi + 0x214]
add eax, 4
cmp ecx, edx
je 0x58eb2e
fld dword [eax]
fsub dword [esi + 4]
fld dword [eax + 8]
fsub dword [esi + 0xc]
fchs
fpatan
fdiv dword [0x745450]
fmul dword [0x7367b8]
fst dword [esi + 0x38]
fcom dword [0x73695c]
fnstsw ax
test ah, 1
jne 0x58eabb
fsub dword [0x73695c]
fstp dword [esi + 0x38]
jmp 0x58eabd
cmp eax, 9
jne 0x58ea38
mov eax, dword [esi]
push 1
push 3
push 0x58
mov ecx, esi
call dword [eax + 0x1c]
jmp 0x58ea45
fstp st(0)
fld dword [esi + 0x38]
fcomp dword [0x736698]
fnstsw ax
test ah, 1
je 0x58eb2e
jmp 0x58eb22
push edx
call fcn.00526d60
cmp eax, ebx
je 0x58eb2e
fld dword [eax + 4]
fsub dword [esi + 4]
fld dword [eax + 0xc]
fsub dword [esi + 0xc]
fchs
fpatan
fdiv dword [0x745450]
fmul dword [0x7367b8]
fst dword [esi + 0x38]
fcom dword [0x73695c]
fnstsw ax
test ah, 1
jne 0x58eb10
fsub dword [0x73695c]
fstp dword [esi + 0x38]
jmp 0x58eb12
fstp st(0)
fld dword [esi + 0x38]
fcomp dword [0x736698]
fnstsw ax
test ah, 1
je 0x58eb2e
fld dword [esi + 0x38]
fadd dword [0x73695c]
fstp dword [esi + 0x38]
mov ecx, esi
call fcn.0058e440
cmp eax, 0x505
jne 0x58eb4f
mov ecx, dword [esi + 0x208]
push 0x41e00000
push ecx
mov ecx, esi
call fcn.005904e0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi]
fild dword [ebp - 8]
mov ecx, esi
fstp dword [esi + 0x20c]
call dword [eax + 0x2c]
jmp case.0x58e920.6
mov eax, dword [esi + 0x280]
mov dword [esi + 0xb4], ebx
cmp eax, 2
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc8], ebx
mov byte [esi + 0x8a], bl
jne 0x58ebae
mov edx, dword [esi]
push ebx
push ebx
push ebx
push 0x3b
push ebx
mov ecx, esi
call dword [edx + 8]
mov eax, dword [esi]
push ebx
push ebx
push ebx
push 0x3e
push ebx
mov ecx, esi
call dword [eax + 8]
mov edx, dword [esi]
push 1
push 4
mov byte [esi + 0x88], 1
mov byte [esi + 0x89], bl
mov byte [esi + 0x8a], bl
push 0x40
jmp 0x58f714
mov eax, dword [esi]
push ebx
push 4
push ebx
mov ecx, esi
call dword [eax + 0x1c]
mov ecx, dword [esi + 0x214]
push ecx
call fcn.0057f040
add esp, 4
test al, al
jne 0x58ebf3
mov byte [esi + 0x89], 1
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2c]
jmp case.0x58e920.6
cmp dword [esi + 0x130], ebx
jne 0x58ec13
mov eax, dword [esi]
push ebx
push 6
push 8
mov ecx, esi
call dword [eax + 0x1c]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
jmp case.0x58e920.6
mov eax, dword [esi]
push 1
push 6
push 0x18
mov ecx, esi
mov dword [esi + 0x124], ebx
mov byte [esi + 0x8a], bl
call dword [eax + 0x1c]
jmp case.0x58e920.6
mov edx, dword [esi]
push 1
push 6
push 0x20
jmp 0x58f714
mov eax, dword [esi]
push 1
push 3
push 0x28
mov ecx, esi
call dword [eax + 0x1c]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2c]
jmp case.0x58e920.6
mov eax, 1
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], 0x60
mov byte [esi + 0xa1], al
mov byte [esi + 0xb0], al
mov byte [esi + 0xac], 3
mov byte [esi + 0xae], bl
mov byte [esi + 0xaf], bl
mov dword [esi + 0xb8], eax
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
add eax, 0x5f5e0ff
jmp 0x58f670
mov eax, 0x60
mov ecx, 1
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov byte [esi + 0xa1], cl
mov byte [esi + 0xb0], cl
mov byte [esi + 0xac], 3
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], cl
mov dword [esi + 0xb8], ecx
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], ecx
jmp 0x58ecad
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], 0x58
mov byte [esi + 0xa1], bl
mov byte [esi + 0xb0], bl
mov byte [esi + 0xac], bl
mov byte [esi + 0xae], 0x58
mov byte [esi + 0xaf], bl
mov eax, 1
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
add eax, 0xbb8
jmp 0x58f670
push ebx
push 0x3e8
push 1
push 4
push 0x28
push 3
push 0x28
push 2
push 0x28
push 1
push 0x28
push ebx
push 0x28
mov ecx, esi
mov byte [esi + 0xad], 0xa
call fcn.00598050
jmp case.0x58e920.6
push ebx
push 0xbb8
push 1
push 1
push 0x28
push 1
push 0x28
push ebx
push 0x28
push ebx
push 0x28
push ebx
push 0x28
mov ecx, esi
mov byte [esi + 0xad], 0xa
call fcn.00598050
mov edx, dword [esi + 0x108]
mov eax, dword [edx]
cmp eax, edx
je 0x58ee06
mov ecx, dword [eax + 8]
cmp ecx, ebx
je 0x58edeb
cmp dword [ecx + 0x128], 0x1be
je 0x58edf3
mov eax, dword [eax]
cmp eax, edx
je 0x58ee06
jmp 0x58edd8
mov eax, dword [esi]
push ebx
push ebx
push 0x1be
push 0x6d
push ebx
mov ecx, esi
call dword [eax + 8]
jmp 0x58edcc
mov edx, dword [esi + 0x108]
mov eax, dword [edx]
cmp eax, edx
je 0x58ee40
mov ecx, dword [eax + 8]
cmp ecx, ebx
je 0x58ee25
cmp dword [ecx + 0x128], 0x1bd
je 0x58ee2d
mov eax, dword [eax]
cmp eax, edx
je 0x58ee40
jmp 0x58ee12
mov edx, dword [esi]
push ebx
push ebx
push 0x1bd
push 0x6d
push ebx
mov ecx, esi
call dword [edx + 8]
jmp 0x58ee06
push ebx
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], 0
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
push 0x1bd
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.0058c3f0
push ebx
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
sub esp, 0xc
mov edx, esp
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], 0
mov dword [edx], eax
mov eax, dword [ebp - 0xc]
push 0x19b
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx + 8], eax
call fcn.0058c3f0
jmp case.0x58e920.6
push ebx
push 0xbb8
push 1
push 5
push 8
push 1
push 0x18
push 1
push 0x18
push 1
push 0x18
push 1
push 0x18
mov ecx, esi
mov byte [esi + 0xad], 0xa
call fcn.00598050
jmp case.0x58e920.6
mov eax, 0x60
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov byte [esi + 0xae], al
mov eax, 1
mov byte [esi + 0xa1], bl
mov byte [esi + 0xb0], bl
mov byte [esi + 0xac], bl
mov byte [esi + 0xaf], bl
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
push ebx
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
sub esp, 0xc
mov ecx, esp
add eax, 0x7d0
mov dword [esi + 0xd0], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
mov dword [ecx], edx
mov dword [ebp - 0xc], 0
mov edx, dword [ebp - 0xc]
mov dword [ecx + 4], eax
push 0x1c1
mov dword [esi + 0xcc], 1
mov dword [ecx + 8], edx
mov ecx, esi
call fcn.0058c3f0
jmp case.0x58e920.6
mov eax, 0x60
mov ecx, 1
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov byte [esi + 0xa1], cl
mov byte [esi + 0xb0], cl
mov byte [esi + 0xac], cl
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], cl
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
add eax, 0x7d0
jmp 0x58f670
mov eax, 0x60
mov cl, 2
mov byte [esi + 0xa0], al
mov byte [esi + 0xae], al
mov eax, 1
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa1], cl
mov byte [esi + 0xb0], cl
mov byte [esi + 0xac], cl
mov byte [esi + 0xaf], cl
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
push ebx
add eax, 0x7d0
sub esp, 0xc
mov dword [esi + 0xd0], eax
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
mov eax, esp
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], 0
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
push 0x1c1
mov dword [esi + 0xcc], 1
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.0058c3f0
jmp case.0x58e920.6
mov eax, 0x60
mov cl, 2
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov byte [esi + 0xa1], cl
mov byte [esi + 0xb0], cl
mov byte [esi + 0xac], cl
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], cl
mov eax, 1
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
add eax, 0x3e8
jmp 0x58f670
push ebx
push 0x1f4
push 1
mov eax, 0x50
push 2
push eax
push 8
push eax
mov ecx, 5
push 7
push eax
push ecx
push eax
mov byte [esi + 0xad], cl
push 3
push eax
mov ecx, esi
call fcn.00598050
jmp case.0x58e920.6
mov eax, 0x60
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov byte [esi + 0xae], al
mov eax, 1
mov byte [esi + 0xa1], 3
mov byte [esi + 0xb0], 3
mov byte [esi + 0xac], 3
mov byte [esi + 0xaf], 3
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
push ebx
add eax, 0x7d0
sub esp, 0xc
mov dword [esi + 0xd0], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
mov edx, esp
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], 0
mov dword [edx], eax
mov eax, dword [ebp - 0xc]
push 0x1c1
mov dword [esi + 0xcc], 1
mov dword [edx + 4], ecx
mov ecx, esi
mov dword [edx + 8], eax
call fcn.0058c3f0
jmp case.0x58e920.6
mov eax, 0x60
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov byte [esi + 0xa1], 3
mov byte [esi + 0xb0], 3
mov byte [esi + 0xac], 3
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], 3
jmp 0x58f0d7
push ebx
push 0x1f4
push 1
push 2
push 0x58
push 7
push 0x58
mov ecx, 5
push 6
push 0x58
push ecx
push 0x58
mov byte [esi + 0xad], cl
push 4
push 0x58
mov ecx, esi
call fcn.00598050
jmp case.0x58e920.6
mov eax, 0x60
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov byte [esi + 0xae], al
mov eax, 1
mov byte [esi + 0xa1], 4
mov byte [esi + 0xb0], 4
mov byte [esi + 0xac], 4
mov byte [esi + 0xaf], 4
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
push ebx
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
sub esp, 0xc
mov ecx, esp
add eax, 0x7d0
mov dword [esi + 0xd0], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
mov dword [ecx], edx
mov dword [ebp - 0xc], 0
mov edx, dword [ebp - 0xc]
mov dword [ecx + 4], eax
push 0x1c1
mov dword [esi + 0xcc], 1
mov dword [ecx + 8], edx
mov ecx, esi
call fcn.0058c3f0
jmp case.0x58e920.6
mov ecx, esi
mov byte [esi + 0xad], 4
call fcn.0058e440
push ebx
cmp eax, 0xfd1
push 0x1f4
push 1
jne 0x58f348
push 2
push 0x58
push 7
push 0x58
push 6
push 0x58
push 5
push 0x58
push 4
push 0x58
mov ecx, esi
call fcn.00598050
jmp case.0x58e920.6
push 4
push 0x28
push 4
push 0x28
push 4
push 0x28
push 3
push 0x28
push 2
push 0x28
mov ecx, esi
call fcn.00598050
jmp case.0x58e920.6
mov eax, 1
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], 0x18
mov byte [esi + 0xa1], al
mov byte [esi + 0xb0], al
mov byte [esi + 0xac], al
mov byte [esi + 0xae], 0x18
mov byte [esi + 0xaf], al
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
push ebx
add eax, 0x7d0
sub esp, 0xc
mov dword [esi + 0xd0], eax
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
mov eax, esp
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], 0
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
push 0x1c1
mov dword [esi + 0xcc], 1
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.0058c3f0
jmp case.0x58e920.6
mov eax, 0x60
mov ecx, 5
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov byte [esi + 0xa1], cl
mov byte [esi + 0xb0], cl
mov byte [esi + 0xac], cl
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], cl
jmp 0x58ed42
mov eax, 0x60
mov byte [esi + 0xad], 6
mov byte [esi + 0xa0], al
mov byte [esi + 0xa1], bl
mov byte [esi + 0xb0], bl
mov ecx, 1
jmp 0x58f631
mov cl, 2
mov eax, 0x60
mov byte [esi + 0xa1], cl
mov byte [esi + 0xb0], cl
mov byte [esi + 0xad], 6
mov byte [esi + 0xa0], al
mov ecx, 5
jmp 0x58f0c5
mov byte [esi + 0xad], 0xa
call fcn.0070e724
and eax, 0x80000001
jns 0x58f4b6
dec eax
or eax, 0xfffffffe
inc eax
mov eax, 0x60
mov byte [esi + 0xa0], al
jne 0x58f4e5
mov cl, 2
mov byte [esi + 0xa1], cl
mov byte [esi + 0xb0], cl
mov byte [esi + 0xac], cl
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], cl
jmp 0x58f507
mov byte [esi + 0xa1], 3
mov byte [esi + 0xb0], 3
mov byte [esi + 0xac], 3
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], 3
mov eax, 1
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], eax
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
jmp 0x58f65d
mov byte [esi + 0xad], 6
call fcn.0070e724
and eax, 0x80000001
jns 0x58f541
dec eax
or eax, 0xfffffffe
inc eax
jne 0x58f573
mov eax, 0x60
mov byte [esi + 0xa1], bl
mov byte [esi + 0xa0], al
mov byte [esi + 0xb0], bl
mov byte [esi + 0xac], 3
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], 3
jmp 0x58f0d7
push ebx
push 0x3e8
push 1
mov eax, 0x60
push ebx
push eax
push ebx
push eax
push 1
push eax
push 2
push eax
push 3
push eax
mov ecx, esi
call fcn.00598050
jmp case.0x58e920.6
mov eax, 0x60
mov byte [esi + 0xad], 6
mov byte [esi + 0xa0], al
mov byte [esi + 0xa1], 4
mov byte [esi + 0xb0], 4
mov ecx, 5
jmp 0x58f4d1
mov cl, 2
mov byte [esi + 0xad], 6
mov byte [esi + 0xa0], 0x28
mov byte [esi + 0xa1], bl
mov byte [esi + 0xb0], bl
mov byte [esi + 0xac], cl
mov byte [esi + 0xae], 0x28
mov byte [esi + 0xaf], cl
jmp 0x58f507
mov byte [esi + 0xad], 0xa
call fcn.0070e724
and eax, 0x80000001
jns 0x58f60f
dec eax
or eax, 0xfffffffe
inc eax
mov eax, 0x60
mov byte [esi + 0xa0], al
jne 0x58f4c3
mov ecx, 1
mov byte [esi + 0xa1], cl
mov byte [esi + 0xb0], cl
mov byte [esi + 0xac], 1
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], 1
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ecx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xc8], ebx
mov dword [esi + 0xc4], ebx
call edi
add eax, 0x1f4
mov dword [esi + 0xd0], eax
mov dword [esi + 0xcc], 1
jmp case.0x58e920.6
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], 0x28
mov byte [esi + 0xa1], bl
mov byte [esi + 0xb0], bl
mov byte [esi + 0xac], bl
mov byte [esi + 0xae], 0x28
mov byte [esi + 0xaf], bl
jmp 0x58f507
mov eax, 0x50
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov ecx, 5
jmp 0x58f4c5
mov eax, 0x50
mov byte [esi + 0xad], 0xa
mov byte [esi + 0xa0], al
mov byte [esi + 0xa1], 4
mov byte [esi + 0xb0], 4
mov byte [esi + 0xac], 4
mov byte [esi + 0xae], al
mov byte [esi + 0xaf], 4
jmp 0x58f507
mov edx, dword [esi]
push 1
push 3
push 0x60
mov ecx, esi
call dword [edx + 0x1c]
mov ecx, dword [esi + 0x38]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10]
add eax, dword [esi + 0x20]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x5c]
cmp eax, ebx
je 0x58f736
cmp eax, 6
jne 0x58f739
mov dword [esi + 0x60], eax
mov edx, dword [ebp + 8]
mov dword [esi + 0x5c], edx
call edi
mov dword [esi + 0x78], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4