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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x22c
push ebx
push esi
push edi
push 0x21
push 0x100329f4
lea ecx, [esp + 0x210]
mov dword [esp + 0x210], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0xf
call fcn.1003ae40
push 8
push 0x10032a18
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xf
call fcn.1003ae40
push 0x20
push 0x10032a24
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0xf
call fcn.1003ae40
push 0x25
push 0x10032a48
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
call fcn.1003ae40
lea ecx, [esp + 0x88]
push ecx
lea eax, [esp + 0xbc]
push eax
push ecx
lea ecx, [esp + 0x70]
call fcn.100785e0
push 0x1003adf0
push 2
push 0x18
lea eax, [esp + 0x94]
push eax
call fcn.10079b58
push 3
push 0x10032a70
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
call fcn.1003ae40
push 0xb
push 0x10032a74
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
call fcn.1003ae40
push 0x16
push 0x10032a80
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
call fcn.1003ae40
push 0x22
push 0x10032a98
lea ecx, [esp + 0x108]
mov dword [esp + 0x108], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
call fcn.1003ae40
push 0x26
push 0x10032abc
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
call fcn.1003ae40
mov dword [esp + 0x130], 0
mov dword [esp + 0x140], 0
push 0x1c
push 0x10032ae4
lea ecx, [esp + 0x138]
mov dword [esp + 0x14c], 0xf
call fcn.1003ae40
push 0xb
push 0x10032b04
lea ecx, [esp + 0x150]
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
call fcn.1003ae40
push 0x14
push 0x10032b10
lea ecx, [esp + 0x168]
mov dword [esp + 0x168], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
call fcn.1003ae40
push 3
push 0x10032b28
lea ecx, [esp + 0x180]
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
call fcn.1003ae40
push 0x13
push 0x10032b2c
lea ecx, [esp + 0x198]
mov dword [esp + 0x198], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
call fcn.1003ae40
push 9
push 0x10032b40
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0xf
call fcn.1003ae40
push 0x17
push 0x10032b4c
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0xf
call fcn.1003ae40
push 0x22
push 0x10032b64
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0xf
call fcn.1003ae40
push 0x23
push 0x10032b88
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0xf
call fcn.1003ae40
lea ecx, [esp + 0xb8]
push ecx
lea eax, [esp + 0x20c]
push eax
push ecx
lea ecx, [esp + 0x64]
call fcn.100785e0
push 0x1003adf0
push 0xe
push 0x18
lea eax, [esp + 0xc4]
push eax
call fcn.10079b58
push 0x1e
push 0x10032bac
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
call fcn.1003ae40
push 0xb
push 0x10032bcc
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
call fcn.1003ae40
push 0x17
push 0x10032bd8
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
call fcn.1003ae40
push 0x1f
push 0x10032bf0
lea ecx, [esp + 0x108]
mov dword [esp + 0x108], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
call fcn.1003ae40
push 0x1d
push 0x10032c10
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
call fcn.1003ae40
push 6
push 0x10032c30
lea ecx, [esp + 0x138]
mov dword [esp + 0x138], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
call fcn.1003ae40
push 7
push 0x10032c38
lea ecx, [esp + 0x150]
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
call fcn.1003ae40
push 0x1a
push 0x10032c40
lea ecx, [esp + 0x168]
mov dword [esp + 0x168], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
call fcn.1003ae40
push 2
push 0x10032c5c
lea ecx, [esp + 0x180]
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
call fcn.1003ae40
push 0x11
push 0x10032c60
lea ecx, [esp + 0x198]
mov dword [esp + 0x198], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
call fcn.1003ae40
lea ecx, [esp + 0xb8]
push ecx
lea eax, [esp + 0x1ac]
push eax
push ecx
lea ecx, [esp + 0x58]
call fcn.100785e0
push 0x1003adf0
push 0xa
push 0x18
lea eax, [esp + 0xc4]
push eax
call fcn.10079b58
mov ecx, dword [0x1009d1ec]
xor ebx, ebx
mov edi, dword [0x1009d1e8]
mov eax, 0x2aaaaaab
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10059d6a
xor esi, esi
nop
lea eax, [edi + esi]
push eax
lea ecx, [esp + 0x38]
call fcn.1003d520
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x10059d43
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10059d39
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d1ec]
mov eax, 0x2aaaaaab
mov edi, dword [0x1009d1e8]
inc ebx
sub ecx, edi
add esi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10059d00
cmp dword [0x1009d0b4], 0x10
mov edi, 0x1009d0a0
push 0x10032c74
cmovae edi, dword [0x1009d0a0]
call fcn.100844df
fstp qword [esp + 0x2c]
cvttsd2si esi, qword [esp + 0x2c]
add esp, 4
push edi
sub esi, dword [0x10002798]
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
xor eax, esi
add dword [0x100027b8], eax
cmp dword [0x1009d1c8], 0xbf
jae 0x10059e6e
push 0x1009d224
push 0x1009d11c
mov edx, 0x1009d1f4
lea ecx, [esp + 0x3c]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d1b8
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10059e23
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10059e19
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a74f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x48]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x10059e6e
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10059e64
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a74f
push edx
push ecx
call fcn.10079b22
add esp, 8
push 0
push 0x10032c98
call dword [sym.imp.SHLWAPI.dll_PathFindOnPathA]
add eax, dword [0x100027a8]
xor ecx, ecx
add dword [0x1000279c], eax
mov eax, 0x2aaaaaab
mov ebx, dword [0x1009d1ec]
mov esi, dword [0x1009d1e8]
mov dword [esp + 0x28], ecx
mov ecx, ebx
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10059f23
xor edi, edi
lea eax, [esi + edi]
push eax
lea ecx, [esp + 0x38]
call fcn.1003d520
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x10059ef5
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10059eeb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ebx, dword [0x1009d1ec]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d1e8]
mov ecx, ebx
inc dword [esp + 0x28]
sub ecx, esi
imul ecx
add edi, 0x18
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jb 0x10059eb2
mov ecx, dword [0x1009d098]
mov eax, 0x2aaaaaab
mov edi, dword [0x1009d094]
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10059fbe
xor esi, esi
xor ebx, ebx
lea eax, [edi + esi]
push eax
lea ecx, [esp + 0x38]
call fcn.1003d520
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x10059f8b
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10059f81
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d098]
mov eax, 0x2aaaaaab
mov edi, dword [0x1009d094]
inc ebx
sub ecx, edi
add esi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10059f48
mov ebx, dword [0x1009d1ec]
mov esi, dword [0x1009d1e8]
sub ebx, esi
mov eax, 0x2aaaaaab
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1005a041
xor edi, edi
xor ebx, ebx
lea eax, [esi + edi]
push eax
lea ecx, [esp + 0x38]
call fcn.1003d520
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x1005a01a
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a010
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d1ec]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d1e8]
inc ebx
sub ecx, esi
add edi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10059fd7
push 4
push 0x10032cb8
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xf
call fcn.1003ae40
cmp dword [esp + 0x24], 0x10
lea ecx, [esp + 0x10]
mov edi, dword [esp + 0x20]
mov eax, 7
cmovae ecx, dword [esp + 0x10]
mov esi, edi
cmp edi, eax
mov edx, 0x10032cc0
cmova esi, eax
sub esi, 4
jb 0x1005a0a2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1005a0a7
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1005a091
cmp esi, 0xfffffffc
je 0x1005a0db
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1005a0d4
cmp esi, 0xfffffffd
je 0x1005a0db
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1005a0d4
cmp esi, 0xfffffffe
je 0x1005a0db
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1005a0d4
cmp esi, 0xffffffff
je 0x1005a0db
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1005a0db
sbb ebx, ebx
or ebx, 1
jmp 0x1005a0dd
xor ebx, ebx
test ebx, ebx
jne 0x1005a0f6
cmp edi, 7
jae 0x1005a0eb
or ebx, 0xffffffff
jmp 0x1005a0f6
mov eax, 7
cmp eax, edi
sbb ebx, ebx
neg ebx
push 0
push 0x10032c98
call dword [sym.imp.SHLWAPI.dll_PathFindOnPathA]
movsd xmm0, qword [0x10037508]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
mov edi, eax
ja 0x1005a11c
sqrtsd xmm0, xmm0
jmp 0x1005a121
call fcn.100963f0
cvttsd2si esi, xmm0
movsd xmm0, qword [0x10037528]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1005a13c
sqrtsd xmm0, xmm0
jmp 0x1005a141
call fcn.100963f0
cvttsd2si eax, xmm0
add esi, ebx
add eax, esi
xor edi, eax
mov eax, dword [esp + 0x24]
add dword [0x100027a0], edi
cmp eax, 0x10
jb 0x1005a189
mov ecx, dword [esp + 0x10]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a17f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d1b0], 0x87
jae 0x1005a3a0
push 0x1009d100
push 0x1009d0d0
push 0x1009d100
push 0x1009d11c
mov edx, 0x1009d0b8
lea ecx, [esp + 0x98]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x40]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x228]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
mov esi, eax
add esp, 4
cmp esi, 0x1009d1a0
je 0x1005a274
mov ecx, dword [0x1009d1b4]
cmp ecx, 0x10
jb 0x1005a231
mov eax, dword [0x1009d1a0]
inc ecx
cmp ecx, 0x1000
jb 0x1005a227
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a754
mov eax, edx
push ecx
push eax
call fcn.10079b22
add esp, 8
mov dword [0x1009d1b0], 0
mov dword [0x1009d1b4], 0xf
mov byte [0x1009d1a0], 0
movups xmm0, xmmword [esi]
movups xmmword [0x1009d1a0], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x1009d1b0], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x1005a2aa
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a2a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a754
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x234]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x1005a2fb
mov ecx, dword [esp + 0x220]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a2f1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a754
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x48]
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], 0xf
mov byte [esp + 0x220], 0
cmp edx, 0x10
jb 0x1005a34f
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a345
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a754
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0xf
mov byte [esp + 0x34], 0
cmp edx, 0x10
jb 0x1005a3a0
mov ecx, dword [esp + 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a396
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a754
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [0x1009d1ec]
push ecx
mov ecx, dword [0x1009d1e8]
call fcn.1003b800
mov eax, dword [0x1009d1e8]
add esp, 4
mov ecx, 0x1009d1e8
mov dword [0x1009d1ec], eax
push dword [esp + 0x28]
push dword [esp + 0x54]
push dword [esp + 0x54]
call fcn.10078c90
push 0x1009d224
lea eax, [esp + 0x20c]
push eax
push 0x1009d0d0
push dword [ebp + 0x38]
mov eax, dword [ebp + 0x3c]
push dword [ebp + 0x18]
push dword [0x100027c0]
push 0x1009d170
push dword [ebp + 0x48]
push 0x1009d20c
push eax
push 0x1009d1d0
push eax
push dword [0x1000278c]
lea eax, [esp + 0xa4]
push dword [ebp + 0x2c]
push dword [ebp + 0x58]
push eax
push dword [0x10002794]
lea eax, [esp + 0xcc]
push dword [ebp + 0x1c]
push dword [0x1000279c]
push dword [ebp + 0x30]
push 0x1009d1f4
push eax
call sym.desktop.d_tetrachordal
mov edx, 0x35
mov dword [esp + 0x68], 0
add esp, 0x58
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
cmp dword [eax + 0x10], edx
cmovb edx, dword [eax + 0x10]
cmp dword [eax + 0x14], 0x10
jb 0x1005a471
mov eax, dword [eax]
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.1003ae40
cmp dword [esp + 0x24], 0x10
lea eax, [esp + 0x10]
cmovae eax, dword [esp + 0x10]
mov byte [eax], 0
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x1005a4c3
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a4b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a759
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x9c]
cmp edx, 0x10
jb 0x1005a4ff
mov ecx, dword [esp + 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a4f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a759
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [0x1009d1ec]
push ecx
mov ecx, dword [0x1009d1e8]
call fcn.1003b800
mov eax, dword [0x1009d1e8]
mov edx, dword [0x1009d168]
mov ecx, dword [0x1009d164]
mov dword [0x1009d1ec], eax
call fcn.1003b800
mov eax, dword [0x1009d164]
push 0x10032cc8
mov dword [0x1009d168], eax
call fcn.100844df
mov ecx, dword [esp + 0x54]
add esp, 8
fstp qword [esp + 0x28]
cvttsd2si eax, qword [esp + 0x28]
xor eax, dword [0x10002790]
add dword [0x100027ac], eax
test ecx, ecx
je 0x1005a5cf
mov edx, dword [esp + 0x50]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x58]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x50]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x1005a5ad
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x1005a645
mov edx, dword [esp + 0x5c]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x64]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x5c]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x1005a623
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x1005a6bb
mov edx, dword [esp + 0x68]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x70]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x68]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x1005a699
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov edx, dword [esp + 0x84]
cmp edx, 0x10
jb 0x1005a6f0
mov ecx, dword [esp + 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a6e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x21c]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0xf
mov byte [esp + 0x70], 0
cmp edx, 0x10
jb 0x1005a743
mov ecx, dword [esp + 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005a739
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a75e
push edx
push ecx
call fcn.10079b22
add esp, 8
pop edi
pop esi
mov eax, 0x17e0e
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
int3