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

Disassembly:
push 0xffffffffffffffff
push 0x10171881
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x101c52b4]
xor eax, esp
mov dword [esp + 0x84], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c52b4]
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 dl, dl
mov ah, ah
mov eax, dword [ecx + 0x224]
cmp eax, edx
je 0x1004e55e
mov dword [ecx + 0x220], 0x102cdca8
mov eax, eax
mov dword [ecx + 0x224], eax
mov ch, ch
jmp 0x1004e574
lea eax, [ecx + 0x8c]
mov dword [ecx + 0x220], eax
push eax
pop eax
mov dword [ecx + 0x224], edx
mov ecx, ecx
mov bh, bh
mov esi, dword [ecx + 0x88]
mov cl, cl
fld qword [0x10179960]
fld qword [esp + 0xc8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1004eebe
fld1
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x1004eebe
mov eax, dword [ecx + 0x220]
cmp dword [eax + esi*4], edx
jne 0x1004e5f4
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.10009f70
mov dword [esp + 0x28], 1
mov byte [esp + 0xa4], 0
cmp dword [esp + 0x54], 0x10
jb 0x1004eefd
mov edx, dword [esp + 0x40]
push edx
jmp 0x1004eef5
fld qword [0x10179920]
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 + 0x228], ax
fldcw word [esp + 0x1c]
mov ch, ch
mov di, 0xb
fmul qword [0x10179958]
fnstcw word [esp + 0x1c]
fadd qword [0x10179908]
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 + 0x22a], di
fldcw word [esp + 0x1c]
push eax
pop eax
movzx eax, word [ecx + esi*4 + 0x22a]
cmp ax, dx
ja 0x1004e682
mov word [ecx + esi*4 + 0x22a], dx
mov dl, dl
jmp 0x1004e694
cmp ax, 3
jb 0x1004e694
mov word [ecx + esi*4 + 0x22a], 3
mov eax, eax
mov ebp, ebp
push 0x4e21
call fcn.1010df39
mov ebp, eax
add esp, 4
mov dword [esp + 0x30], ebp
push edx
pop edx
test ebp, ebp
je 0x1004ee69
mov dword [esp + 0x38], 0
mov ah, ah
push 0xbb80
call fcn.1010df39
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov esi, esi
test edi, edi
jne 0x1004e6ed
push ebp
call fcn.1010dffc
add esp, 4
push ecx
pop ecx
push eax
pop eax
lea edx, [esp + 0x3c]
push edx
jmp 0x1004ee6e
push 0x4e21
push 0
push ebp
call fcn.1010efd0
add esp, 0xc
mov ch, ch
push 0xbb80
push 0
push edi
call fcn.1010efd0
add esp, 0xc
nop
push ecx
pop ecx
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.1004aa40
add esp, 0x24
test eax, eax
jne 0x1004e777
xchg ebx, eax
xchg ebx, eax
push ebp
call fcn.1010dffc
add esp, 4
mov ebp, ebp
push edi
call fcn.1010dffc
add esp, 4
mov edx, edx
lea eax, [esp + 0x3c]
push eax
jmp 0x1004ee6e
mov esi, dword [ebx + 0x18]
push edx
pop edx
mov ebp, ebp
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [esp + 0x24], eax
mov bl, bl
nop
mov ah, ah
test esi, esi
jne 0x1004e7ca
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call ebp
mov esi, eax
mov al, al
push 0x4f
call ebp
mov edi, eax
mov ebx, ebx
push 0x4c
call ebp
mov ebx, eax
mov esi, esi
push 0x4d
call ebp
mov ebp, ebp
add esi, ebx
mov ebx, ebx
add edi, eax
mov edx, edx
mov ebp, dword [esp + 0x30]
jmp 0x1004e824
mov ecx, ecx
lea ecx, [esp + 0x58]
push ecx
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov bh, bh
push esi
call fcn.10042850
add esp, 4
mov bl, bl
cmp dword [ebx + 0x34], 5
jne 0x1004e804
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x1004e804
mov eax, ebx
mov esi, dword [eax + 0x2c]
mov esi, esi
mov edi, dword [eax + 0x30]
mov bl, bl
jmp 0x1004e824
mov esi, dword [esp + 0x60]
sub esi, dword [esp + 0x58]
push ebx
pop ebx
mov edi, dword [esp + 0x64]
sub edi, dword [esp + 0x5c]
push eax
pop eax
mov eax, ebx
mov dword [eax + 0x2c], esi
mov cl, cl
mov dword [eax + 0x30], edi
mov ebp, ebp
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov al, al
cmp dword [esp + 0xbc], esi
jle 0x1004e84a
mov dword [esp + 0xbc], esi
mov edi, edi
cmp dword [esp + 0xc0], edi
jle 0x1004e855
push edx
pop edx
push 0x1772
call fcn.1010df39
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov bh, bh
push 0x1772
call fcn.1010df39
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
xchg ebx, eax
xchg ebx, eax
test edi, edi
je 0x1004eea8
test esi, esi
je 0x1004ee96
push 0x1772
push 0
push edi
call fcn.1010efd0
add esp, 0xc
mov dh, dh
push 0x1772
push 0
push esi
call fcn.1010efd0
add esp, 0xc
mov ah, ah
mov edi, edi
cmp dword [esp + 0x38], 0
mov dword [esp + 0x30], 0
jle 0x1004ede4
jmp 0x1004e8d0
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 bl, bl
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
push ebx
pop ebx
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]
push ecx
pop ecx
movzx esi, word [ebx + 2]
add esi, dword [esp + 0x18]
mov esi, esi
mov bl, bl
mov ebp, ebp
push eax
lea edx, [esp + 0x5c]
push 0x10179678
push edx
call fcn.1010fdb0
add esp, 0xc
push eax
pop eax
push esi
lea eax, [esp + 0x7c]
push 0x10179678
push eax
call fcn.1010fdb0
add esp, 0xc
mov cl, cl
test edi, edi
jne 0x1004ea0f
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x58]
mov ecx, eax
sub edx, ecx
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1004e9a0
mov edx, edx
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 0x1004e9c0
mov dh, dh
mov eax, dword [esp + 0x20]
add eax, 8
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004e9d7
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 0x1004e9f0
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
jmp 0x1004edcf
movzx edx, word [ebx - 0x16]
movzx eax, word [ebx - 0x12]
mov esi, dword [esp + 0x34]
mov ecx, dword [esi + 0x78]
add eax, edx
movzx edx, word [ebx + 2]
lea edi, [ecx + eax]
cmp edx, edi
jge 0x1004eb77
movzx ecx, word [ebx - 0x18]
movzx edx, word [ebx - 0x14]
movzx eax, word [ebx]
add ecx, edx
add ecx, dword [esi + 0x84]
cmp eax, ecx
jle 0x1004eb41
mov edi, dword [esp + 0x24]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1004ea51
mov cx, word [0x10179594]
mov word [edi], cx
mov dl, dl
lea eax, [esp + 0x58]
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004ea70
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 0x1004ea84
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 eax, eax
mov edi, dword [esp + 0x1c]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1004eaa5
mov dx, word [0x10179594]
mov word [edi], dx
mov edi, edi
lea eax, [esp + 0x78]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004eac1
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 0x1004ead5
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 al, al
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1004eaf4
mov ax, word [0x10179578]
mov word [edi], ax
mov cl, cl
lea eax, [ebx + 8]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004eb10
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1004eb22
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]
xchg ebx, eax
xchg ebx, eax
jmp 0x1004edcf
lea eax, [ebx + 8]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004eb46
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1004eb58
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 ebx, ebx
jmp 0x1004edcf
mov edi, dword [esi + 0x80]
add edi, ecx
add edi, eax
cmp edx, edi
jle 0x1004ec81
mov edi, dword [esp + 0x24]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1004eb90
mov cx, word [0x10179594]
mov word [edi], cx
mov dl, dl
lea eax, [esp + 0x58]
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004ebb0
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 0x1004ebc4
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 ah, ah
mov edi, dword [esp + 0x1c]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1004ebe5
mov dx, word [0x10179594]
mov word [edi], dx
mov bl, bl
lea eax, [esp + 0x78]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004ec01
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 0x1004ec15
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 bh, bh
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1004ec34
mov ax, word [0x10179578]
mov word [edi], ax
mov edx, edx
lea eax, [ebx + 8]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004ec50
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1004ec62
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]
xchg ebx, eax
xchg ebx, eax
jmp 0x1004edcf
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 + 0x84]
jle 0x1004ed9e
mov edi, dword [esp + 0x24]
add edi, 0xffffffff
mov edi, edi
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1004ecb0
mov cx, word [0x10179594]
mov word [edi], cx
mov ecx, ecx
lea eax, [esp + 0x58]
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004ecd0
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 0x1004ece4
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 0x1004ed05
mov dx, word [0x10179594]
mov word [edi], dx
mov ebp, ebp
lea eax, [esp + 0x78]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004ed21
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 0x1004ed35
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 al, al
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1004ed54
mov ax, word [0x10179578]
mov word [edi], ax
mov edx, edx
lea eax, [ebx + 8]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004ed70
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1004ed82
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]
xchg ebx, eax
xchg ebx, eax
jmp 0x1004edcf
lea eax, [ebx + 8]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1004eda3
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1004edb5
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
mov eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x30], eax
jl 0x1004e8d0
mov esi, dword [esp + 0x24]
cmp byte [esi], 0
je 0x1004ee33
push esi
lea ecx, [esp + 0x40]
call fcn.1000a480
nop
push 0x10179578
lea ecx, [esp + 0x40]
call fcn.1000a480
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x40]
call fcn.1000a480
xchg ebx, eax
xchg ebx, eax
push 0x10179578
lea ecx, [esp + 0x40]
call fcn.1000a480
nop
push ebp
lea ecx, [esp + 0x40]
call fcn.1000a480
mov al, al
mov cl, cl
push esi
call fcn.1010dffc
add esp, 4
mov ebx, ebx
mov edx, dword [esp + 0x1c]
push edx
call fcn.1010dffc
add esp, 4
mov dl, dl
push ebp
call fcn.1010dffc
add esp, 4
mov al, al
mov eax, dword [esp + 0x20]
push eax
call fcn.1010dffc
add esp, 4
push eax
pop eax
lea ecx, [esp + 0x3c]
push ecx
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.1000a250
mov dword [esp + 0x28], 1
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x3c]
call fcn.100066f0
mov eax, esi
jmp 0x1004ef10
push edi
call fcn.1010dffc
add esp, 4
mov edx, edx
lea edx, [esp + 0x3c]
push edx
jmp 0x1004ee6e
test esi, esi
je 0x1004eeb7
push esi
call fcn.1010dffc
add esp, 4
mov bl, bl
lea edx, [esp + 0x3c]
push edx
jmp 0x1004ee6e
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.10009f70
mov dword [esp + 0x28], 1
mov byte [esp + 0xa4], 0
cmp dword [esp + 0x54], 0x10
jb 0x1004eefd
mov ecx, dword [esp + 0x40]
push ecx
call fcn.100fcea8
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.1010e4d7
add esp, 0x94
ret