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

Disassembly:
push 0xffffffffffffffff
push 0x10179b31
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x84], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101cc114]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xc4]
xor edx, edx
mov dword [esp + 0x28], edx
mov edi, 0xf
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], edx
mov byte [esp + 0x40], dl
mov dword [esp + 0xa4], 1
mov al, al
mov al, al
mov eax, dword [ecx + 0x228]
cmp eax, edx
je 0x1005db6e
mov dword [ecx + 0x224], 0x102d4b60
push edx
pop edx
mov dword [ecx + 0x228], eax
mov dl, dl
jmp 0x1005db84
lea eax, [ecx + 0x90]
mov dword [ecx + 0x224], eax
mov esi, esi
mov dword [ecx + 0x228], edx
mov eax, eax
mov ah, ah
mov esi, dword [ecx + 0x8c]
mov ah, ah
fld qword [0x10181880]
fld qword [esp + 0xc8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1005e4d0
fld1
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x1005e4d0
mov eax, dword [ecx + 0x224]
cmp dword [eax + esi*4], edx
jne 0x1005dc04
push 0xffffffffffffffff
fstp st(0)
push edx
lea ecx, [esp + 0x44]
push ecx
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], edx
mov ecx, ebp
mov byte [ebp + 4], 0
call fcn.10009fb0
mov dword [esp + 0x28], 1
mov byte [esp + 0xa4], 0
cmp dword [esp + 0x54], 0x10
jb 0x1005e50f
mov edx, dword [esp + 0x40]
push edx
jmp 0x1005e507
fld qword [0x10181840]
fnstcw word [esp + 0x1c]
movzx eax, word [esp + 0x1c]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x20], eax
fldcw word [esp + 0x20]
fistp dword [esp + 0x20]
movzx eax, word [esp + 0x20]
mov word [ecx + esi*4 + 0x22c], ax
fldcw word [esp + 0x1c]
mov dh, dh
mov di, 0xb
fmul qword [0x10181878]
fnstcw word [esp + 0x1c]
fadd qword [0x10181828]
movzx eax, word [esp + 0x1c]
or eax, 0xc00
mov dword [esp + 0x20], eax
fldcw word [esp + 0x20]
fistp dword [esp + 0x20]
movzx eax, word [esp + 0x20]
sub di, ax
mov word [ecx + esi*4 + 0x22e], di
fldcw word [esp + 0x1c]
mov edi, edi
movzx eax, word [ecx + esi*4 + 0x22e]
cmp ax, dx
ja 0x1005dc92
mov word [ecx + esi*4 + 0x22e], dx
mov cl, cl
jmp 0x1005dca4
cmp ax, 3
jb 0x1005dca4
mov word [ecx + esi*4 + 0x22e], 3
xchg ebx, eax
xchg ebx, eax
mov edx, edx
push 0x4e21
call fcn.10117399
mov ebp, eax
add esp, 4
mov dword [esp + 0x30], ebp
push eax
pop eax
test ebp, ebp
je 0x1005e47b
mov dword [esp + 0x38], 0
push ebx
pop ebx
push 0xbb80
call fcn.10117399
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov bh, bh
test edi, edi
jne 0x1005dcfd
push ebp
call fcn.1011745c
add esp, 4
push ecx
pop ecx
mov ebx, ebx
lea edx, [esp + 0x3c]
push edx
jmp 0x1005e480
push 0x4e21
push 0
push ebp
call fcn.101183f0
add esp, 0xc
mov edx, edx
push 0xbb80
push 0
push edi
call fcn.101183f0
add esp, 0xc
mov ah, ah
mov al, al
mov edx, dword [esp + 0xc0]
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0xc0]
push edi
push ebx
mov ebx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0xc8]
push eax
push ecx
push edx
push esi
lea ecx, [esp + 0x38]
mov esi, ebx
call fcn.1005a050
add esp, 0x24
test eax, eax
jne 0x1005dd87
mov dh, dh
push ebp
call fcn.1011745c
add esp, 4
xchg ebx, eax
xchg ebx, eax
push edi
call fcn.1011745c
add esp, 4
nop
lea eax, [esp + 0x3c]
push eax
jmp 0x1005e480
mov esi, dword [ebx + 0x18]
mov eax, eax
mov edx, edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [esp + 0x24], eax
mov ecx, ecx
mov ch, ch
push ebx
pop ebx
test esi, esi
jne 0x1005ddda
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call ebp
mov esi, eax
mov edx, edx
push 0x4f
call ebp
mov edi, eax
nop
push 0x4c
call ebp
mov ebx, eax
mov edx, edx
push 0x4d
call ebp
mov ah, ah
add esi, ebx
mov cl, cl
add edi, eax
push eax
pop eax
mov ebp, dword [esp + 0x30]
jmp 0x1005de33
mov ecx, ecx
lea ecx, [esp + 0x58]
push ecx
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
push eax
pop eax
push esi
call fcn.10052340
add esp, 4
push ecx
pop ecx
cmp dword [ebx + 0x34], 5
jne 0x1005de14
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x1005de14
mov eax, ebx
mov esi, dword [eax + 0x2c]
mov cl, cl
mov edi, dword [eax + 0x30]
mov edi, edi
jmp 0x1005de33
mov esi, dword [esp + 0x60]
sub esi, dword [esp + 0x58]
mov edi, edi
mov edi, dword [esp + 0x64]
sub edi, dword [esp + 0x5c]
nop
mov eax, ebx
mov dword [eax + 0x2c], esi
mov bl, bl
mov dword [eax + 0x30], edi
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
xchg ebx, eax
xchg ebx, eax
cmp dword [esp + 0xbc], esi
jle 0x1005de59
mov dword [esp + 0xbc], esi
mov eax, eax
cmp dword [esp + 0xc0], edi
jle 0x1005de64
mov edx, edx
push 0x1772
call fcn.10117399
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov ch, ch
push 0x1772
call fcn.10117399
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
mov ecx, ecx
test edi, edi
je 0x1005e4ba
test esi, esi
je 0x1005e4a8
push 0x1772
push 0
push edi
call fcn.101183f0
add esp, 0xc
mov dl, dl
push 0x1772
push 0
push esi
call fcn.101183f0
add esp, 0xc
push eax
pop eax
mov ch, ch
cmp dword [esp + 0x38], 0
mov dword [esp + 0x30], 0
jle 0x1005e3f4
jmp 0x1005dee0
xor eax, eax
mov byte [esp + 0x58], 0
mov dword [esp + 0x59], eax
mov dword [esp + 0x5d], eax
mov dword [esp + 0x61], eax
mov dword [esp + 0x65], eax
mov dword [esp + 0x69], eax
mov dword [esp + 0x6d], eax
mov dword [esp + 0x71], eax
mov word [esp + 0x75], ax
mov byte [esp + 0x77], al
mov ebp, ebp
mov byte [esp + 0x78], al
mov dword [esp + 0x79], eax
mov dword [esp + 0x7d], eax
mov dword [esp + 0x81], eax
mov dword [esp + 0x85], eax
mov dword [esp + 0x89], eax
mov dword [esp + 0x8d], eax
mov dword [esp + 0x91], eax
mov word [esp + 0x95], ax
mov byte [esp + 0x97], al
mov bh, bh
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
lea eax, [edi + edi*2]
lea ebx, [ecx + eax*8]
movzx eax, word [ebx]
add eax, dword [esp + 0x14]
mov eax, eax
movzx esi, word [ebx + 2]
add esi, dword [esp + 0x18]
mov ch, ch
nop
push eax
pop eax
push eax
lea edx, [esp + 0x5c]
push 0x10181588
push edx
call fcn.101191d0
add esp, 0xc
push eax
pop eax
push esi
lea eax, [esp + 0x7c]
push 0x10181588
push eax
call fcn.101191d0
add esp, 0xc
push edx
pop edx
test edi, edi
jne 0x1005e01f
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x58]
mov ecx, eax
sub edx, ecx
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1005dfb0
mov dh, dh
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x78]
mov ecx, eax
sub edx, ecx
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1005dfd0
push ecx
pop ecx
mov eax, dword [esp + 0x20]
add eax, 8
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005dfe7
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e000
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, esi
jmp 0x1005e3df
movzx edx, word [ebx - 0x16]
movzx eax, word [ebx - 0x12]
mov esi, dword [esp + 0x34]
mov ecx, dword [esi + 0x7c]
add eax, edx
movzx edx, word [ebx + 2]
lea edi, [ecx + eax]
cmp edx, edi
jge 0x1005e187
movzx ecx, word [ebx - 0x18]
movzx edx, word [ebx - 0x14]
movzx eax, word [ebx]
add ecx, edx
add ecx, dword [esi + 0x88]
cmp eax, ecx
jle 0x1005e151
mov edi, dword [esp + 0x24]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1005e061
mov cx, word [0x101814a4]
mov word [edi], cx
mov ch, ch
lea eax, [esp + 0x58]
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e080
mov edi, dword [esp + 0x24]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e094
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push edx
pop edx
mov edi, dword [esp + 0x1c]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1005e0b5
mov dx, word [0x101814a4]
mov word [edi], dx
mov ch, ch
lea eax, [esp + 0x78]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e0d1
mov edi, dword [esp + 0x1c]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e0e5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
pop ecx
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1005e104
mov ax, word [0x10181488]
mov word [edi], ax
nop
lea eax, [ebx + 8]
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e120
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e132
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebp, ebp
jmp 0x1005e3df
lea eax, [ebx + 8]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e156
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e168
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ch, ch
jmp 0x1005e3df
mov edi, dword [esi + 0x84]
add edi, ecx
add edi, eax
cmp edx, edi
jle 0x1005e291
mov edi, dword [esp + 0x24]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1005e1a0
mov cx, word [0x101814a4]
mov word [edi], cx
xchg ebx, eax
xchg ebx, eax
lea eax, [esp + 0x58]
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e1c0
mov edi, dword [esp + 0x24]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e1d4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov bl, bl
mov edi, dword [esp + 0x1c]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1005e1f5
mov dx, word [0x101814a4]
mov word [edi], dx
push edx
pop edx
lea eax, [esp + 0x78]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e211
mov edi, dword [esp + 0x1c]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e225
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, cl
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1005e244
mov ax, word [0x10181488]
mov word [edi], ax
mov ah, ah
lea eax, [ebx + 8]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e260
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e272
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edi
jmp 0x1005e3df
movzx ecx, word [ebx - 0x18]
movzx edx, word [ebx]
movzx eax, word [ebx - 0x14]
sub edx, ecx
sub edx, eax
sub edx, dword [esp + 0x14]
add edx, dword [esp + 0xbc]
cmp edx, dword [esi + 0x88]
jle 0x1005e3ae
mov edi, dword [esp + 0x24]
add edi, 0xffffffff
mov edi, edi
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1005e2c0
mov cx, word [0x101814a4]
mov word [edi], cx
mov al, al
lea eax, [esp + 0x58]
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e2e0
mov edi, dword [esp + 0x24]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e2f4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, cl
mov edi, dword [esp + 0x1c]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1005e315
mov dx, word [0x101814a4]
mov word [edi], dx
push ecx
pop ecx
lea eax, [esp + 0x78]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e331
mov edi, dword [esp + 0x1c]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e345
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
pop ecx
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1005e364
mov ax, word [0x10181488]
mov word [edi], ax
mov edi, edi
lea eax, [ebx + 8]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e380
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e392
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dh, dh
jmp 0x1005e3df
lea eax, [ebx + 8]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005e3b3
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1005e3c5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dh, dh
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x30], eax
jl 0x1005dee0
mov esi, dword [esp + 0x24]
cmp byte [esi], 0
je 0x1005e445
push esi
lea ecx, [esp + 0x40]
call fcn.1000a4c0
mov bl, bl
push 0x10181488
lea ecx, [esp + 0x40]
call fcn.1000a4c0
mov eax, eax
mov ecx, dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x40]
call fcn.1000a4c0
push ebx
pop ebx
push 0x10181488
lea ecx, [esp + 0x40]
call fcn.1000a4c0
mov ch, ch
push ebp
lea ecx, [esp + 0x40]
call fcn.1000a4c0
mov bh, bh
push eax
pop eax
push esi
call fcn.1011745c
add esp, 4
mov dl, dl
mov edx, dword [esp + 0x1c]
push edx
call fcn.1011745c
add esp, 4
mov dh, dh
push ebp
call fcn.1011745c
add esp, 4
mov al, al
mov eax, dword [esp + 0x20]
push eax
call fcn.1011745c
add esp, 4
push eax
pop eax
lea ecx, [esp + 0x3c]
push ecx
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.1000a290
mov dword [esp + 0x28], 1
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x3c]
call fcn.10006700
mov eax, esi
jmp 0x1005e522
push edi
call fcn.1011745c
add esp, 4
mov eax, eax
lea edx, [esp + 0x3c]
push edx
jmp 0x1005e480
test esi, esi
je 0x1005e4c9
push esi
call fcn.1011745c
add esp, 4
mov esi, esi
lea edx, [esp + 0x3c]
push edx
jmp 0x1005e480
push 0xffffffffffffffff
fstp st(0)
push edx
lea eax, [esp + 0x44]
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], edx
push eax
mov ecx, ebp
mov byte [ebp + 4], 0
call fcn.10009fb0
mov dword [esp + 0x28], 1
mov byte [esp + 0xa4], 0
cmp dword [esp + 0x54], 0x10
jb 0x1005e50f
mov ecx, dword [esp + 0x40]
push ecx
call fcn.1010959d
add esp, 4
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], 0
mov byte [esp + 0x40], 0
mov eax, ebp
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.10117937
add esp, 0x94
ret