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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1182e61
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x10544
call sub.ntdll.dll__chkstk
push esi
mov dword [ebp - 0x1051c], ecx
mov eax, dword [ebp - 0x1051c]
cmp dword [eax + 0x41a0], 0
je 0x1160064
mov eax, 1
jmp 0x1160b05
mov dword [ebp - 0x10], 0
jmp 0x1160076
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp + 8]
call fcn.010973b0
cmp dword [ebp - 0x10], eax
jae 0x1160b00
mov edx, dword [0x119a1dc]
and edx, 1
jne 0x11600a9
mov eax, dword [0x119a1dc]
or eax, 1
mov dword [0x119a1dc], eax
call fcn.0108d4a0
mov dword [0x119a1d8], eax
call fcn.0108d4a0
sub eax, dword [0x119a1d8]
cmp eax, 0x3e8
jb 0x11601c2
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10524], ecx
mov dword [ebp - 0x10520], 0
fild qword [ebp - 0x10524]
mov ecx, dword [ebp + 8]
fstp qword [ebp - 0x1052c]
call fcn.010973b0
mov dword [ebp - 0x10534], eax
mov dword [ebp - 0x10530], 0
fild qword [ebp - 0x10534]
fdivr qword [ebp - 0x1052c]
fmul qword [0x10061d0]
call fcn.01116030
mov dword [ebp - 0xc490], eax
mov word [ebp - 0xc48c], 0
push 0x3fe
push 0
lea edx, [ebp - 0xc48a]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0xc490]
push eax
mov ecx, dword [ebp + 8]
call fcn.010973b0
push eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x1012d20
lea edx, [ebp - 0xc48c]
push edx
call sub.ntdll.dll_swprintf
add esp, 0x14
lea eax, [ebp - 0xc48c]
push eax
mov ecx, dword [ebp - 0x1051c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [eax + 0x30]
mov edx, dword [edx]
mov eax, dword [edx + 0x38]
call eax
mov ecx, dword [ebp - 0xc490]
push ecx
push 0x1010e00
lea edx, [ebp - 0xc48c]
push edx
call sub.ntdll.dll_swprintf
add esp, 0xc
lea eax, [ebp - 0xc48c]
push eax
mov ecx, dword [ebp - 0x1051c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [eax + 0x30]
mov edx, dword [edx]
mov eax, dword [edx + 0x3c]
call eax
call fcn.0108d4a0
mov dword [0x119a1d8], eax
mov ecx, dword [ebp - 0x1051c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [eax + 0x30]
mov edx, dword [edx]
mov eax, dword [edx + 0x78]
call eax
test eax, eax
je 0x1160238
push 0x17
mov ecx, dword [ebp - 0x1051c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [eax + 0x30]
mov edx, dword [edx]
mov eax, dword [edx + 0x20]
call eax
call fcn.010906a0
mov dword [ebp - 0x10538], eax
push 0xa63
push 0x1012a84
call fcn.011563d0
push eax
push 0x100b148
mov ecx, dword [ebp - 0x10538]
push ecx
mov edx, dword [ebp - 0x10538]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
add esp, 0xc
xor eax, eax
jmp 0x1160b05
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [ebp + 8]
call fcn.011293f0
mov ecx, dword [eax]
mov dword [ebp - 0x4024], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x4020], edx
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x807c]
call fcn.01146fd0
mov dword [ebp - 4], 0
push 0
lea eax, [ebp - 0x807c]
push eax
mov ecx, dword [ebp - 0x4020]
push ecx
mov edx, dword [ebp - 0x4024]
push edx
mov ecx, dword [ebp - 0x1051c]
add ecx, 0xb8
call fcn.011623b0
test eax, eax
jne 0x116032d
call fcn.010906a0
mov dword [ebp - 0x1053c], eax
mov eax, dword [ebp - 0x4020]
push eax
mov ecx, dword [ebp - 0x4024]
push ecx
push 0xa6d
push 0x1012a84
call fcn.011563d0
push eax
push 0x10122f8
mov edx, dword [ebp - 0x1053c]
push edx
mov eax, dword [ebp - 0x1053c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
call edx
add esp, 0x14
push 0xd2
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [eax + 0x30]
mov edx, dword [ebp - 0x1051c]
mov eax, dword [edx + 0x30]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10500], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x807c]
call fcn.011471e0
mov eax, dword [ebp - 0x10500]
jmp 0x1160b05
mov byte [ebp - 0xc08c], 0
push 0x3fff
push 0
lea ecx, [ebp - 0xc08b]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
mov byte [ebp - 0x401c], 0
push 0x3fff
push 0
lea edx, [ebp - 0x401b]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [eax + 0x41a4]
push ecx
lea ecx, [ebp - 0x807c]
call fcn.011814c0
push eax
lea edx, [ebp - 0xc08c]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [eax + 0x41a4]
push ecx
lea edx, [ebp - 0xc08c]
push edx
lea eax, [ebp - 0x401c]
push eax
call sub.ntdll.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0xc08c]
mov dword [ebp - 0x18], ecx
lea edx, [ebp - 0x401c]
mov dword [ebp - 0x8088], edx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x14]
mov dword [ebp - 0x8084], ecx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x8088]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x14]
mov edx, dword [ebp - 0x8088]
mov dword [edx + 0x18], ecx
lea ecx, [ebp - 0x807c]
call fcn.01147830
lea ecx, [ebp - 0x807c]
call fcn.01147ea0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x1160852
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 8]
test ecx, ecx
jne 0x1160493
mov edx, dword [ebp - 0x8088]
add edx, dword [ebp - 0x8084]
mov dword [ebp - 0xc4c4], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0xc4c4]
push eax
call sub.ntdll.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x8084]
add edx, dword [ecx + 4]
mov dword [ebp - 0x8084], edx
mov eax, dword [ebp - 0x8088]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + 4]
mov eax, dword [ebp - 0x8088]
mov dword [eax + 0x18], ecx
lea ecx, [ebp - 0x807c]
call fcn.01148000
mov dword [ebp - 0x14], eax
jmp 0x1160418
lea ecx, [ebp - 0xc4b0]
call fcn.011611f0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0xc4b0]
call fcn.01161320
test eax, eax
jne 0x1160558
call fcn.010906a0
mov dword [ebp - 0x10540], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x4020]
push ecx
mov edx, dword [ebp - 0x4024]
push edx
push 0xa92
push 0x1012a84
call fcn.011563d0
push eax
push 0x1012398
mov eax, dword [ebp - 0x10540]
push eax
mov ecx, dword [ebp - 0x10540]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
add esp, 0x18
push 0xd3
mov ecx, dword [ebp - 0x1051c]
mov edx, dword [ecx + 0x30]
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [eax + 0x30]
mov edx, dword [edx]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10504], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc4b0]
call fcn.01161230
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x807c]
call fcn.011471e0
mov eax, dword [ebp - 0x10504]
jmp 0x1160b05
xor ecx, ecx
mov byte [ebp - 0x10505], cl
lea edx, [ebp - 0x10505]
push edx
lea ecx, [ebp - 0xc4c0]
call fcn.01099550
mov byte [ebp - 4], 2
mov dword [ebp - 0xc498], 0
lea ecx, [ebp - 0xc4b0]
call fcn.011615a0
mov dword [ebp - 0xc494], eax
mov dword [ebp - 0xc4c8], 0
jmp 0x11605ac
mov eax, dword [ebp - 0xc4c8]
add eax, 1
mov dword [ebp - 0xc4c8], eax
mov ecx, dword [ebp - 0xc4c8]
cmp ecx, dword [ebp - 0xc494]
jae 0x1160669
mov edx, dword [ebp - 0xc4c8]
push edx
lea ecx, [ebp - 0xc4b0]
call fcn.01161610
mov dword [ebp - 0xc4e0], eax
mov eax, dword [ebp - 0xc4e0]
mov ecx, dword [eax]
mov dword [ebp - 0xc4dc], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xc4d8], edx
mov eax, dword [ebp - 0xc4e0]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc4d4], ecx
mov edx, dword [ebp - 0xc4e0]
mov dword [ebp - 0x10544], edx
mov eax, dword [ebp - 0x10544]
mov ecx, dword [ebp - 0x10544]
mov edx, dword [eax]
and edx, dword [ecx + 4]
cmp edx, 0xffffffff
je 0x1160648
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [ebp - 0xc4dc]
add ecx, dword [eax + 0x4190]
mov edx, dword [ebp - 0xc4d8]
adc edx, dword [eax + 0x4194]
mov dword [ebp - 0xc4dc], ecx
mov dword [ebp - 0xc4d8], edx
mov dword [ebp - 0xc498], 1
lea eax, [ebp - 0xc4dc]
push eax
lea ecx, [ebp - 0xc4c0]
call fcn.01094c50
jmp 0x116059d
cmp dword [ebp - 0xc498], 0
jne 0x11606cd
mov ecx, dword [ebp - 0x8088]
add ecx, dword [ebp - 0x8084]
mov dword [ebp - 0xc4e4], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0xc4e4]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x8084]
add ecx, dword [eax + 4]
mov dword [ebp - 0x8084], ecx
mov edx, dword [ebp - 0x8088]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0x14]
add eax, dword [ecx + 4]
mov edx, dword [ebp - 0x8088]
mov dword [edx + 0x18], eax
jmp 0x1160821
push 0x80000
call fcn.0108b3e0
add esp, 4
mov dword [ebp - 0x1050c], eax
mov eax, dword [ebp - 0x1050c]
mov dword [ebp - 0xc4f0], eax
push 0x80000
push 0
mov ecx, dword [ebp - 0xc4f0]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
lea edx, [ebp - 0xc4c0]
push edx
mov ecx, dword [ebp - 0x1051c]
call fcn.0115aee0
mov eax, dword [ebp - 0xc4f0]
push eax
lea ecx, [ebp - 0xc4c0]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x1051c]
call fcn.0115b0c0
mov eax, dword [ebp - 0xc4f0]
mov dword [ebp - 0xc4ec], eax
mov ecx, dword [ebp - 0x8088]
add ecx, dword [ebp - 0x8084]
mov dword [ebp - 0xc4e8], ecx
mov edx, dword [ebp - 0x8088]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0xc4ec]
add eax, dword [ecx + 4]
mov edx, dword [ebp - 0x1051c]
cmp eax, dword [edx + 0x41a4]
ja 0x1160791
mov eax, dword [ebp - 0xc4ec]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xc4f0]
push edx
mov eax, dword [ebp - 0xc4e8]
push eax
call sub.ntdll.dll_memcpy
add esp, 0xc
jmp 0x11607d6
call fcn.010906a0
mov dword [ebp - 0x10548], eax
mov ecx, dword [ebp - 0x4020]
push ecx
mov edx, dword [ebp - 0x4024]
push edx
push 0xac3
push 0x1012a84
call fcn.011563d0
push eax
push 0x1012558
mov eax, dword [ebp - 0x10548]
push eax
mov ecx, dword [ebp - 0x10548]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
add esp, 0x14
mov ecx, dword [ebp - 0xc4ec]
mov edx, dword [ebp - 0x8084]
add edx, dword [ecx + 4]
mov dword [ebp - 0x8084], edx
mov eax, dword [ebp - 0x8088]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0xc4ec]
add ecx, dword [edx + 4]
mov eax, dword [ebp - 0x8088]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0xc4f0]
mov dword [ebp - 0x10510], ecx
mov edx, dword [ebp - 0x10510]
push edx
call fcn.0108b400
add esp, 4
lea ecx, [ebp - 0x807c]
call fcn.01148000
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc4c0]
call fcn.01155040
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc4b0]
call fcn.01161230
jmp 0x1160418
mov eax, dword [ebp - 0x8088]
add eax, dword [ebp - 0x8084]
mov dword [ebp - 0x8080], eax
mov ecx, dword [ebp - 0x8088]
mov edx, dword [ecx + 0x18]
add edx, 8
mov eax, dword [ebp - 0x1051c]
cmp edx, dword [eax + 0x41a4]
ja 0x1160891
mov ecx, dword [ebp - 0x8080]
mov dword [ecx], 0xffffffff
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x8088]
mov eax, dword [edx + 0x18]
add eax, 8
mov ecx, dword [ebp - 0x8088]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x8088]
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [edx + 0x18]
cmp ecx, dword [eax + 0x41a4]
jbe 0x116094b
call fcn.010906a0
mov dword [ebp - 0x1054c], eax
mov edx, dword [ebp - 0x4020]
push edx
mov eax, dword [ebp - 0x4024]
push eax
push 0xad9
push 0x1012a84
call fcn.011563d0
push eax
push 0x1012518
mov ecx, dword [ebp - 0x1054c]
push ecx
mov edx, dword [ebp - 0x1054c]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
add esp, 0x14
push 0xd7
mov edx, dword [ebp - 0x1051c]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x1051c]
mov ecx, dword [ecx + 0x30]
mov edx, dword [eax]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10514], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x807c]
call fcn.011471e0
mov eax, dword [ebp - 0x10514]
jmp 0x1160b05
mov ecx, dword [ebp - 0x1051c]
cmp dword [ecx + 0x34], 0
jne 0x1160ae9
mov byte [ebp - 0x104f4], 0
push 0x3fff
push 0
lea edx, [ebp - 0x104f3]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x1051c]
mov ecx, dword [eax + 0x41a4]
push ecx
lea edx, [ebp - 0x401c]
push edx
lea eax, [ebp - 0x104f4]
push eax
call sub.ntdll.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0x104f4]
mov dword [ebp - 0x104f8], ecx
mov dword [ebp - 0x104fc], 0
jmp 0x11609c2
mov edx, dword [ebp - 0x104fc]
add edx, 1
mov dword [ebp - 0x104fc], edx
mov eax, dword [ebp - 0x104f8]
movzx ecx, word [eax + 6]
sub ecx, 1
cmp dword [ebp - 0x104fc], ecx
jge 0x1160a39
mov edx, dword [ebp - 0x104fc]
add edx, 1
shl edx, 9
mov eax, dword [ebp - 0x104f8]
movzx ecx, word [eax + 4]
add ecx, dword [ebp - 0x104f8]
mov eax, dword [ebp - 0x104fc]
mov esi, dword [ebp - 0x104f8]
mov dx, word [esi + edx - 2]
mov word [ecx + eax*2 + 2], dx
mov eax, dword [ebp - 0x104f8]
movzx ecx, word [eax + 4]
mov edx, dword [ebp - 0x104fc]
add edx, 1
shl edx, 9
mov eax, dword [ebp - 0x104f8]
mov esi, dword [ebp - 0x104f8]
mov cx, word [esi + ecx]
mov word [eax + edx - 2], cx
jmp 0x11609b3
mov edx, dword [ebp - 0x1051c]
mov eax, dword [edx + 0x41a4]
push eax
lea ecx, [ebp - 0x104f4]
push ecx
mov edx, dword [ebp - 0x4020]
push edx
mov eax, dword [ebp - 0x4024]
push eax
mov ecx, dword [ebp - 0x1051c]
add ecx, 0xb8
call fcn.01163100
test eax, eax
jne 0x1160ae9
call fcn.010906a0
mov dword [ebp - 0x10550], eax
push 0xaef
push 0x1012a84
call fcn.011563d0
push eax
push 0x10124fc
mov ecx, dword [ebp - 0x10550]
push ecx
mov edx, dword [ebp - 0x10550]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
add esp, 0xc
push 0xd2
mov edx, dword [ebp - 0x1051c]
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp - 0x1051c]
mov ecx, dword [ecx + 0x30]
mov edx, dword [eax]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10518], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x807c]
call fcn.011471e0
mov eax, dword [ebp - 0x10518]
jmp 0x1160b05
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x807c]
call fcn.011471e0
jmp 0x116006d
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 4