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

Disassembly:
push 0xffffffffffffffff
push 0x10151b71
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x101a42b4]
xor eax, esp
mov dword [esp + 0x84], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101a42b4]
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
test ebx, ebx
push ecx
pop ecx
mov eax, dword [ecx + 0x224]
cmp eax, edx
je 0x100426ae
mov dword [ecx + 0x220], 0x102acca8
mov al, al
mov dword [ecx + 0x224], eax
test ebx, ebx
jmp 0x100426c7
lea eax, [ecx + 0x8c]
mov dword [ecx + 0x220], eax
test bl, bl
mov dword [ecx + 0x224], edx
test eax, 0x2a7d
test bh, bh
mov esi, dword [ecx + 0x88]
test edi, edi
fld qword [0x10159790]
fld qword [esp + 0xc8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x10043027
fld1
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x10043027
mov eax, dword [ecx + 0x220]
cmp dword [eax + esi*4], edx
jne 0x10042747
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.10009fd0
mov dword [esp + 0x28], 1
mov byte [esp + 0xa4], 0
cmp dword [esp + 0x54], 0x10
jb 0x10043066
mov edx, dword [esp + 0x40]
push edx
jmp 0x1004305e
fld qword [0x10159750]
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]
test ebx, ebx
mov di, 0xb
fmul qword [0x10159788]
fnstcw word [esp + 0x1c]
fadd qword [0x10159738]
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]
test bh, bh
movzx eax, word [ecx + esi*4 + 0x22a]
cmp ax, dx
ja 0x100427d5
mov word [ecx + esi*4 + 0x22a], dx
mov edx, edx
jmp 0x100427e7
cmp ax, 3
jb 0x100427e7
mov word [ecx + esi*4 + 0x22a], 3
mov edi, edi
mov eax, eax
push 0x4e21
call fcn.100f3e38
mov ebp, eax
add esp, 4
mov dword [esp + 0x30], ebp
mov ecx, ecx
test ebp, ebp
je 0x10042fcf
mov dword [esp + 0x38], 0
test ecx, ecx
push 0xbb80
call fcn.100f3e38
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
test eax, 0x5567
test edi, edi
jne 0x10042843
push ebp
call fcn.100f3efb
add esp, 4
mov ebp, ebp
test ah, ah
lea edx, [esp + 0x3c]
push edx
jmp 0x10042fd4
push 0x4e21
push 0
push ebp
call fcn.100f4ed0
add esp, 0xc
mov bl, bl
push 0xbb80
push 0
push edi
call fcn.100f4ed0
add esp, 0xc
mov edi, edi
mov ecx, 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.1003ea50
add esp, 0x24
test eax, eax
jne 0x100428cd
nop
push ebp
call fcn.100f3efb
add esp, 4
push ecx
pop ecx
push edi
call fcn.100f3efb
add esp, 4
push eax
pop eax
lea eax, [esp + 0x3c]
push eax
jmp 0x10042fd4
mov esi, dword [ebx + 0x18]
test dh, dh
test bh, bh
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [esp + 0x24], eax
test eax, eax
mov ch, ch
test al, al
test esi, esi
jne 0x1004292a
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call ebp
mov esi, eax
test eax, 0x8e6
push 0x4f
call ebp
mov edi, eax
test ah, ah
push 0x4c
call ebp
mov ebx, eax
test eax, 0x3125
push 0x4d
call ebp
test eax, 0x32c8
add esi, ebx
test bl, bl
add edi, eax
test edi, edi
mov ebp, dword [esp + 0x30]
jmp 0x10042987
mov dl, dl
lea ecx, [esp + 0x58]
push ecx
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
test ch, ch
push esi
call fcn.10036740
add esp, 4
test dl, dl
cmp dword [ebx + 0x34], 5
jne 0x10042964
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x10042964
mov eax, ebx
mov esi, dword [eax + 0x2c]
test cl, cl
mov edi, dword [eax + 0x30]
push ecx
pop ecx
jmp 0x10042987
mov esi, dword [esp + 0x60]
sub esi, dword [esp + 0x58]
test eax, 0x25fa
mov edi, dword [esp + 0x64]
sub edi, dword [esp + 0x5c]
mov dh, dh
mov eax, ebx
mov dword [eax + 0x2c], esi
mov esi, esi
mov dword [eax + 0x30], edi
mov edx, edx
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 0x100429ad
mov dword [esp + 0xbc], esi
test bh, bh
cmp dword [esp + 0xc0], edi
jle 0x100429b8
mov dh, dh
push 0x1772
call fcn.100f3e38
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
mov edx, edx
push 0x1772
call fcn.100f3e38
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
mov al, al
test edi, edi
je 0x10043011
test esi, esi
je 0x10042fff
push 0x1772
push 0
push edi
call fcn.100f4ed0
add esp, 0xc
mov ch, ch
push 0x1772
push 0
push esi
call fcn.100f4ed0
add esp, 0xc
test eax, 0x3d01
test bl, bl
cmp dword [esp + 0x38], 0
mov dword [esp + 0x30], 0
jle 0x10042f45
mov edi, edi
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 al, al
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
nop
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]
test ah, ah
movzx esi, word [ebx + 2]
add esi, dword [esp + 0x18]
test bl, bl
xchg ebx, eax
xchg ebx, eax
mov ebx, ebx
push eax
lea edx, [esp + 0x5c]
push 0x101594b0
push edx
call fcn.100f5cb0
add esp, 0xc
test bl, bl
push esi
lea eax, [esp + 0x7c]
push 0x101594b0
push eax
call fcn.100f5cb0
add esp, 0xc
test edx, edx
test edi, edi
jne 0x10042b6f
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x58]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x10042b00
test cl, cl
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 0x10042b20
mov edx, edx
mov eax, dword [esp + 0x20]
add eax, 8
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042b37
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 0x10042b50
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 0x10042f30
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 0x10042cd7
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 0x10042ca1
mov edi, dword [esp + 0x24]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10042bb1
mov cx, word [0x101593cc]
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 0x10042bd0
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 0x10042be4
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 ebx
pop ebx
mov edi, dword [esp + 0x1c]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10042c05
mov dx, word [0x101593cc]
mov word [edi], dx
test ebx, ebx
lea eax, [esp + 0x78]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042c21
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 0x10042c35
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]
test dl, dl
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10042c54
mov ax, word [0x101593b0]
mov word [edi], ax
mov bl, bl
lea eax, [ebx + 8]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042c70
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10042c82
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
jmp 0x10042f30
lea eax, [ebx + 8]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042ca6
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10042cb8
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
jmp 0x10042f30
mov edi, dword [esi + 0x80]
add edi, ecx
add edi, eax
cmp edx, edi
jle 0x10042de1
mov edi, dword [esp + 0x24]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10042cf0
mov cx, word [0x101593cc]
mov word [edi], cx
test ebx, ebx
lea eax, [esp + 0x58]
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042d10
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 0x10042d24
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 dl, dl
mov edi, dword [esp + 0x1c]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10042d45
mov dx, word [0x101593cc]
mov word [edi], dx
push ebx
pop ebx
lea eax, [esp + 0x78]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042d61
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 0x10042d75
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]
test eax, 0x7aec
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10042d97
mov ax, word [0x101593b0]
mov word [edi], ax
nop
lea eax, [ebx + 8]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042db0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10042dc2
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 0x10042f30
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 0x10042eff
mov edi, dword [esp + 0x24]
add edi, 0xffffffff
mov edi, edi
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10042e10
mov cx, word [0x101593cc]
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 0x10042e30
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 0x10042e44
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 edx, edx
mov edi, dword [esp + 0x1c]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10042e65
mov dx, word [0x101593cc]
mov word [edi], dx
push ebx
pop ebx
lea eax, [esp + 0x78]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042e81
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 0x10042e95
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]
test eax, 0x4b8f
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10042eb7
mov ax, word [0x101593b0]
mov word [edi], ax
mov ebp, ebp
lea eax, [ebx + 8]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042ed1
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10042ee3
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 0x10042f30
lea eax, [ebx + 8]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10042f04
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10042f16
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 eax, dword [esp + 0x30]
add eax, 1
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x30], eax
jl 0x10042a30
mov esi, dword [esp + 0x24]
cmp byte [esi], 0
je 0x10042f96
push esi
lea ecx, [esp + 0x40]
call fcn.1000a4e0
test al, al
push 0x101593b0
lea ecx, [esp + 0x40]
call fcn.1000a4e0
mov dl, dl
mov ecx, dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x40]
call fcn.1000a4e0
test cl, cl
push 0x101593b0
lea ecx, [esp + 0x40]
call fcn.1000a4e0
mov ah, ah
push ebp
lea ecx, [esp + 0x40]
call fcn.1000a4e0
test edi, edi
mov esi, esi
push esi
call fcn.100f3efb
add esp, 4
test eax, 0x35f
mov edx, dword [esp + 0x1c]
push edx
call fcn.100f3efb
add esp, 4
test ch, ch
push ebp
call fcn.100f3efb
add esp, 4
mov ebp, ebp
mov eax, dword [esp + 0x20]
push eax
call fcn.100f3efb
add esp, 4
test edx, edx
lea ecx, [esp + 0x3c]
push ecx
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.1000a2b0
mov dword [esp + 0x28], 1
mov byte [esp + 0xa4], 0
lea ecx, [esp + 0x3c]
call fcn.10006710
mov eax, esi
jmp 0x10043079
push edi
call fcn.100f3efb
add esp, 4
test dh, dh
lea edx, [esp + 0x3c]
push edx
jmp 0x10042fd4
test esi, esi
je 0x10043020
push esi
call fcn.100f3efb
add esp, 4
mov ebp, ebp
lea edx, [esp + 0x3c]
push edx
jmp 0x10042fd4
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.10009fd0
mov dword [esp + 0x28], 1
mov byte [esp + 0xa4], 0
cmp dword [esp + 0x54], 0x10
jb 0x10043066
mov ecx, dword [esp + 0x40]
push ecx
call fcn.100e2dad
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.100f43d6
add esp, 0x94
ret