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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x40
push ebx
push ebp
xor ebp, ebp
push esi
push edi
push ebp
push ebp
mov edi, ecx
mov eax, dword [edi + 0x20]
push 0xb
push eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
call dword [sym.imp.USER32.dll_SendMessageW]
call fcn.00464910
cmp dword [edi + 0x9c], ebp
mov dword [edi + 0x118], ebp
mov dword [edi + 0x318], ebp
mov dword [edi + 0x31c], ebp
jne 0x4f40f4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xa0]
cmp dword [ecx + 4], ebp
je 0x4f40ea
cmp dword [ecx + 8], ebp
fld qword [0x5b65b8]
fld qword [0x58c208]
jle 0x4f4274
add ecx, 0xb8
mov bl, byte [ecx + 1]
cmp bl, 7
je 0x4f4251
cmp bl, 8
je 0x4f4251
mov edx, dword [ecx]
mov eax, edx
and eax, 0xff
cmp eax, 6
jae 0x4f417d
mov esi, dword [ecx - 0x7c]
and esi, 0xf000
cmp esi, 0x1000
jne 0x4f417d
cmp bl, 4
je 0x4f417d
mov esi, dword [edi + 0xa0]
cmp dword [esi + 0x24], ebp
je 0x4f417d
cmp dword [esi + 0x1c], ebp
je 0x4f417d
test dl, 1
mov edx, 1
jne 0x4f4173
mov dword [esp + 0x28], edx
jmp 0x4f4182
mov dword [esp + 0x24], 1
jmp 0x4f4182
mov edx, 1
test eax, eax
jne 0x4f41a0
mov eax, dword [ecx - 0x7c]
and eax, 0xf000
cmp eax, 0x2000
jne 0x4f41a0
cmp bl, 4
je 0x4f41a0
mov dword [edi + 0x318], edx
movzx eax, byte [ecx]
cmp eax, 3
jae 0x4f41c1
mov eax, dword [ecx - 0x7c]
and eax, 0xf000
cmp eax, 0x2000
jne 0x4f41c1
cmp byte [ecx + 1], 4
je 0x4f41c7
mov dword [esp + 0x2c], edx
cmp byte [ecx + 1], 4
jne 0x4f41d1
mov dword [esp + 0x2c], edx
mov dword [edi + 0x118], edx
mov esi, dword [ecx]
and esi, 0xff
cmp esi, 7
je 0x4f41e3
cmp esi, 8
jne 0x4f4231
cmp byte [ecx + 1], 0
jne 0x4f4231
mov eax, dword [ecx - 0x7c]
mov ebx, eax
and ebx, 0x30000
cmp ebx, 0x10000
jne 0x4f4209
mov ebx, eax
and ebx, 0xf0
cmp bl, 0x60
jne 0x4f4231
shr eax, 8
and eax, 0xf
cmp eax, 4
mov dword [esp + 0x30], edx
je 0x4f421d
cmp eax, 0xc
jne 0x4f4231
cmp esi, 7
jne 0x4f4228
add dword [esp + 0x34], edx
jmp 0x4f4231
cmp esi, 8
jne 0x4f4231
add dword [esp + 0x38], edx
cmp byte [ecx + 1], 0xa
jne 0x4f423b
mov dword [esp + 0x30], edx
mov eax, dword [edi + 0xa0]
cmp dword [eax + 0x24], ebp
je 0x4f424b
cmp dword [eax + 0x1c], ebp
jne 0x4f4256
mov dword [esp + 0x30], edx
jmp 0x4f4256
mov edx, 1
add ebp, edx
mov edx, dword [edi + 0xa0]
add ecx, 0xa8
cmp ebp, dword [edx + 8]
jl 0x4f411a
cmp dword [esp + 0x2c], 0
jne 0x4f4292
fld st(1)
fmul st(1)
call fcn.005296d0
fld st(1)
fmul qword [0x58be98]
mov esi, eax
call fcn.005296d0
sub esi, eax
mov dword [esp + 0x20], esi
cmp dword [esp + 0x28], 0
je 0x4f42a0
cmp dword [esp + 0x24], 0
jne 0x4f42aa
mov dword [edi + 0x31c], 1
mov eax, dword [edi + 0xa0]
xor ebp, ebp
cmp dword [eax + 8], ebp
jle 0x4f4e65
fld qword [0x58bd98]
mov dword [esp + 0x24], ebp
fld qword [0x58c200]
fld qword [0x58c1f8]
fld qword [0x58bcf0]
fld qword [0x58bda0]
fld qword [0x58bfb8]
jmp 0x4f4321
fld qword [0x58c208]
fld qword [0x58bfb8]
fld qword [0x58bd98]
fld qword [0x58c200]
fld qword [0x58c1f8]
fld qword [0x58bcf0]
fld qword [0x58bda0]
fxch st(4)
fxch st(5)
fxch st(3)
fxch st(4)
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
mov ebx, dword [edi + 0xa0]
mov eax, dword [esp + 0x24]
mov dl, byte [ebx + eax + 0xb9]
cmp dl, 7
mov byte [esp + 0x16], dl
je 0x4f4e35
cmp dl, 8
je 0x4f4e35
mov ecx, dword [ebx + eax + 0xb8]
mov esi, ecx
and esi, 0xff
cmp esi, 6
mov dword [esp + 0x1c], esi
jae 0x4f45f1
mov esi, dword [ebx + eax + 0x3c]
mov edx, esi
and edx, 0xf000
cmp edx, 0x1000
mov dl, byte [esp + 0x16]
jne 0x4f45ed
cmp dl, 4
je 0x4f45ed
cmp dword [ebx + 0x24], ebp
fstp st(6)
je 0x4f453c
cmp dword [ebx + 0x1c], ebp
je 0x4f453c
fstp st(2)
mov eax, esi
shr eax, 4
fstp st(4)
and eax, 0xf
fstp st(0)
cmp eax, 4
fstp st(2)
jne 0x4f445c
mov edx, dword [edi + 0x9c]
test dword [edx + 0x28], 0x800
jne 0x4f445c
fmul qword [0x5b65b0]
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
fldcw word [esp + 0x16]
fnstcw word [esp + 0x16]
fld st(1)
movzx eax, word [esp + 0x16]
fmul qword [0x58bbe0]
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x40]
mov edx, dword [esp + 0x40]
sub edx, ecx
fldcw word [esp + 0x16]
imul edx, dword [esp + 0x1c]
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
fmulp st(1)
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x40]
mov eax, dword [esp + 0x40]
sub eax, edx
push eax
push ebp
fldcw word [esp + 0x1e]
mov eax, edi
call fcn.004f5c30
fld qword [0x5b65b8]
jmp 0x4f4e49
cmp eax, 5
jne 0x4f47a4
mov edx, dword [edi + 0x9c]
test dword [edx + 0x58], 0x8000
je 0x4f47a4
fld qword [0x5b65b0]
shr ecx, 1
fnstcw word [esp + 0x16]
and ecx, 0x7f
movzx eax, word [esp + 0x16]
fld st(0)
fmulp st(2)
or eax, 0xc00
mov dword [esp + 0x28], eax
fxch st(1)
push ebp
fldcw word [esp + 0x2c]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
fldcw word [esp + 0x1a]
fnstcw word [esp + 0x1a]
fld st(2)
movzx eax, word [esp + 0x1a]
fmul qword [0x58bbe0]
or eax, 0xc00
mov dword [esp + 0x2c], eax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x44]
mov ebx, dword [esp + 0x44]
sub ebx, edx
mov edx, esi
fldcw word [esp + 0x1a]
imul ebx, ecx
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
fxch st(2)
fmulp st(1)
or eax, 0xc00
mov dword [esp + 0x2c], eax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub eax, ebx
push eax
mov ebx, 2
fldcw word [esp + 0x1e]
fmul qword [0x58bf88]
fnstcw word [esp + 0x1e]
movzx eax, word [esp + 0x1e]
or eax, 0xc00
mov dword [esp + 0x30], eax
and edx, 0xf
fldcw word [esp + 0x30]
fistp qword [esp + 0x48]
mov ecx, dword [esp + 0x48]
push ecx
fldcw word [esp + 0x22]
jmp 0x4f45d4
fstp st(4)
fstp st(2)
fmul st(4)
call fcn.005296d0
mov edx, dword [esp + 0x20]
neg edx
sub edx, eax
cmp dword [ebx + 0x24], ebp
mov dword [esp + 0x28], edx
jne 0x4f4575
fmul st(3)
call fcn.005296d0
fmul st(2)
mov esi, eax
call fcn.005296d0
mov edx, dword [esp + 0x28]
mov ecx, dword [ebx + 0x28]
sub esi, eax
add edx, esi
jmp 0x4f457c
mov ecx, dword [ebx + 0x20]
fstp st(1)
fstp st(0)
cmp ecx, 0xffffffff
je 0x4f4e47
mov eax, dword [edi + 0x9c]
test dword [eax + 0x28], 0x800
jne 0x4f4e47
fnstcw word [esp + 0x16]
push ebp
movzx eax, word [esp + 0x1a]
fstp st(1)
fmul qword [0x5b65b0]
or eax, 0xc00
mov dword [esp + 0x2c], eax
push edx
fldcw word [esp + 0x30]
fistp qword [esp + 0x48]
mov edx, dword [esp + 0x48]
fldcw word [esp + 0x1e]
imul ecx, ecx, 0xa8
push edx
mov edx, dword [ecx + ebx + 0x3c]
and edx, 0xf
xor ebx, ebx
call fcn.004f5e10
test eax, eax
je 0x4f45e2
call fcn.00463d60
fld qword [0x5b65b8]
jmp 0x4f4e49
mov esi, dword [esp + 0x1c]
cmp esi, 3
fstp st(5)
fstp st(3)
jae 0x4f4799
mov eax, dword [ebx + eax + 0x3c]
mov ecx, eax
and ecx, 0xf000
cmp ecx, 0x2000
jne 0x4f4799
cmp dl, 4
je 0x4f4799
cmp dword [ebx + 0x24], ebp
fstp st(4)
je 0x4f4708
cmp dword [ebx + 0x1c], ebp
je 0x4f4708
and al, 0xf0
fstp st(0)
cmp al, 0x40
fstp st(1)
jne 0x4f46f0
mov edx, dword [edi + 0x9c]
test dword [edx + 0x28], 0x800
jne 0x4f46f0
fmul qword [0x5b65b0]
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
fldcw word [esp + 0x16]
fnstcw word [esp + 0x16]
fmul st(1)
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov dword [esp + 0x28], eax
xor eax, eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x40]
mov edx, dword [esp + 0x40]
sub edx, ecx
cmp dword [edi + 0x318], eax
fldcw word [esp + 0x16]
sete al
fmul qword [0x58be98]
imul edx, eax
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov dword [esp + 0x28], eax
mov eax, edi
fldcw word [esp + 0x28]
fistp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
sub ecx, edx
add ecx, esi
push ecx
fldcw word [esp + 0x1a]
push ebp
call fcn.004f5c30
fld qword [0x5b65b8]
jmp 0x4f4e49
fstp st(2)
push ebp
fstp st(1)
push edi
fstp st(0)
call fcn.004f5470
fld qword [0x5b65b8]
jmp 0x4f4e49
fmul st(4)
call fcn.005296d0
mov edx, dword [esp + 0x20]
neg edx
sub edx, eax
cmp dword [ebx + 0x24], ebp
mov dword [esp + 0x28], edx
jne 0x4f4745
fld st(3)
fmulp st(3)
fxch st(2)
call fcn.005296d0
fld st(2)
fmulp st(2)
mov esi, eax
fxch st(1)
call fcn.005296d0
mov edx, dword [esp + 0x28]
mov ecx, dword [ebx + 0x28]
sub esi, eax
add edx, esi
jmp 0x4f474c
mov ecx, dword [ebx + 0x20]
fstp st(0)
fstp st(1)
cmp ecx, 0xffffffff
je 0x4f4e47
mov eax, dword [edi + 0x9c]
test dword [eax + 0x28], 0x800
jne 0x4f4e47
fnstcw word [esp + 0x16]
push ebp
movzx eax, word [esp + 0x1a]
fstp st(1)
fmul qword [0x5b65b0]
or eax, 0xc00
mov dword [esp + 0x2c], eax
push edx
fldcw word [esp + 0x30]
fistp qword [esp + 0x48]
mov edx, dword [esp + 0x48]
fldcw word [esp + 0x1e]
jmp 0x4f45c4
cmp dl, 4
fstp st(1)
jne 0x4f47bc
fstp st(4)
fstp st(1)
fstp st(0)
push ebp
fstp st(1)
push edi
fstp st(0)
call fcn.004f5470
fld qword [0x5b65b8]
jmp 0x4f4e49
cmp esi, 7
je 0x4f47ca
cmp esi, 8
jne 0x4f4e41
test dl, dl
je 0x4f47d7
cmp dl, 0xa
jne 0x4f4e41
mov eax, dword [esp + 0x24]
mov esi, dword [ebx + eax + 0x3c]
mov eax, esi
shr eax, 0x10
and eax, 3
cmp eax, 1
mov dword [esp + 0x40], eax
jne 0x4f4801
mov ecx, esi
and ecx, 0xf0
cmp cl, 0x60
jne 0x4f4e41
fld qword [0x5b65b0]
fld st(0)
fmulp st(4)
fld st(3)
call fcn.005296d0
cmp dword [esp + 0x1c], 7
mov dword [esp + 0x18], eax
jne 0x4f4824
cmp dword [esp + 0x34], 1
ja 0x4f483a
cmp dword [esp + 0x1c], 8
jne 0x4f48f4
cmp dword [esp + 0x38], 1
jbe 0x4f48f4
cmp dword [ebx + 8], 0
mov dword [esp + 0x28], 0
jle 0x4f4880
mov ecx, esi
shr ecx, 8
and ecx, 0xf
mov dword [esp + 0x3c], ecx
lea eax, [ebx + 0x3c]
jmp 0x4f485d
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax]
shr edx, 8
and edx, 0xf
cmp edx, ecx
je 0x4f4880
mov ecx, dword [esp + 0x28]
add ecx, 1
mov edx, ebx
add eax, 0xa8
cmp ecx, dword [edx + 8]
mov dword [esp + 0x28], ecx
jl 0x4f4859
fld qword [0x58bd90]
fmul st(1)
call fcn.005296d0
mov ecx, dword [esp + 0x18]
sub ecx, eax
cmp dword [esp + 0x28], ebp
mov dword [esp + 0x28], ecx
je 0x4f48ac
fld st(0)
fmul st(3)
call fcn.005296d0
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebx + edx + 0xb4]
and ecx, 0xf
je 0x4f48f4
mov eax, esi
shr eax, 4
and eax, 0xf
cmp eax, 5
je 0x4f48d2
cmp eax, 4
jne 0x4f48f4
cmp ecx, 1
jne 0x4f48e1
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
jmp 0x4f48f4
fld st(0)
fmul st(3)
call fcn.005296d0
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov dword [esp + 0x18], ecx
mov eax, esi
shr eax, 4
and eax, 0xf
cmp eax, 5
jne 0x4f499d
fnstcw word [esp + 0x16]
push ebp
movzx eax, word [esp + 0x1a]
fstp st(3)
or eax, 0xc00
fstp st(2)
mov dword [esp + 0x40], eax
fmul st(3)
mov ebx, 2
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov ecx, dword [esp + 0x44]
fldcw word [esp + 0x1a]
fnstcw word [esp + 0x1a]
fmul st(2)
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff9
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
sub ecx, edx
fldcw word [esp + 0x1a]
imul ecx, eax
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
fmulp st(1)
or eax, 0xc00
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
sub edx, ecx
sub edx, dword [esp + 0x24]
fldcw word [esp + 0x1a]
push edx
mov edx, esi
push eax
and edx, 0xf
jmp 0x4f45d4
cmp eax, 4
jne 0x4f4a51
mov ecx, dword [edi + 0x9c]
test dword [ecx + 0x28], 0x800
jne 0x4f4a51
fnstcw word [esp + 0x16]
mov ecx, dword [esp + 0x1c]
movzx eax, word [esp + 0x16]
fstp st(3)
or eax, 0xc00
fstp st(2)
mov dword [esp + 0x3c], eax
fmul st(3)
add ecx, 0xfffffff9
push ebp
fldcw word [esp + 0x40]
mov ebx, 1
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
fldcw word [esp + 0x1a]
fnstcw word [esp + 0x1a]
fmul st(2)
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub edx, eax
fldcw word [esp + 0x1a]
imul edx, ecx
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
fmulp st(1)
mov ecx, dword [esp + 0x1c]
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub eax, edx
sub eax, dword [esp + 0x24]
mov edx, esi
fldcw word [esp + 0x1a]
push eax
push ecx
and edx, 0xf
jmp 0x4f45d4
cmp eax, 0xb
jne 0x4f4cb0
mov edx, dword [esp + 0x24]
mov ebx, dword [ebx + edx + 0xb4]
and ebx, 0xf
je 0x4f4a6e
mov edx, ebx
jmp 0x4f4a73
and esi, 0xf
mov edx, esi
fnstcw word [esp + 0x16]
mov esi, dword [esp + 0x20]
movzx eax, word [esp + 0x16]
fld st(5)
or eax, 0xc00
fmulp st(3)
mov dword [esp + 0x3c], eax
fxch st(2)
push ebp
mov ebx, 1
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov ecx, dword [esp + 0x44]
fldcw word [esp + 0x1a]
fnstcw word [esp + 0x1a]
fmul st(4)
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub ecx, eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff9
fldcw word [esp + 0x1a]
imul ecx, eax
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
fxch st(3)
fmulp st(2)
or eax, 0xc00
fxch st(1)
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub eax, ecx
sub eax, esi
push eax
fldcw word [esp + 0x1e]
fnstcw word [esp + 0x1e]
fxch st(1)
movzx eax, word [esp + 0x1e]
fmul qword [0x58bd90]
or eax, 0xc00
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp qword [esp + 0x48]
mov ecx, dword [esp + 0x48]
fldcw word [esp + 0x1e]
fnstcw word [esp + 0x1e]
movzx eax, word [esp + 0x1e]
or eax, 0xc00
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
sub eax, ecx
push eax
fldcw word [esp + 0x22]
call fcn.004f5e10
test eax, eax
je 0x4f45e2
call fcn.00463d60
mov ecx, dword [edi + 0xa0]
mov edx, dword [esp + 0x24]
mov eax, dword [ecx + edx + 0xb4]
add ecx, edx
shr eax, 4
and eax, 0xf
je 0x4f4b82
mov edx, eax
jmp 0x4f4b88
mov edx, dword [ecx + 0x3c]
and edx, 0xf
fld qword [0x5b65b8]
movzx ecx, byte [ecx + 0xb8]
fld qword [0x58bda0]
sub ecx, 7
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
fmul st(1)
or eax, 0xc00
mov dword [esp + 0x3c], eax
push ebp
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov ebx, dword [esp + 0x44]
fldcw word [esp + 0x1a]
fld qword [0x58bcf0]
fnstcw word [esp + 0x1a]
fmul st(1)
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub ebx, eax
fldcw word [esp + 0x1a]
imul ebx, ecx
fmul qword [0x58c208]
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x40], eax
fldcw word [esp + 0x40]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub eax, ebx
sub eax, esi
push eax
fldcw word [esp + 0x1e]
mov ebx, 2
fld qword [0x5b65b0]
fld qword [0x58bd98]
fnstcw word [esp + 0x1e]
fmul st(1)
movzx eax, word [esp + 0x1e]
or eax, 0xc00
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp qword [esp + 0x48]
mov ecx, dword [esp + 0x48]
fldcw word [esp + 0x1e]
fld qword [0x58bd90]
fnstcw word [esp + 0x1e]
fmul st(1)
movzx eax, word [esp + 0x1e]
or eax, 0xc00
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
sub ecx, eax
fldcw word [esp + 0x1e]
fmul qword [0x58c050]
fnstcw word [esp + 0x1e]
movzx eax, word [esp + 0x1e]
or eax, 0xc00
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp qword [esp + 0x48]
mov eax, dword [esp + 0x48]
sub ecx, eax
push ecx
fldcw word [esp + 0x22]
jmp 0x4f45d4
cmp eax, 6
fstp st(3)
fstp st(2)
jne 0x4f4d83
cmp dword [esp + 0x40], 1
jne 0x4f4d83
mov ecx, esi
and ecx, 0xf000
cmp ecx, 0x8000
jne 0x4f4d83
mov edx, dword [edi + 0x9c]
test dword [edx + 0x48], 0x4000000
jne 0x4f4d83
fnstcw word [esp + 0x16]
push ebp
movzx eax, word [esp + 0x1a]
fstp st(1)
or eax, 0xc00
fmul st(2)
mov dword [esp + 0x44], eax
mov ebx, 4
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov ecx, dword [esp + 0x44]
fldcw word [esp + 0x1a]
fnstcw word [esp + 0x1a]
fld st(1)
movzx eax, word [esp + 0x1a]
fmul qword [0x58bbe0]
or eax, 0xc00
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
add ecx, edx
add ecx, ecx
mov edx, esi
fldcw word [esp + 0x1a]
fnstcw word [esp + 0x1a]
fmulp st(1)
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x44], eax
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub eax, ecx
sub eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
fldcw word [esp + 0x1a]
push eax
push ecx
and edx, 0xf
jmp 0x4f45d4
cmp byte [esp + 0x16], 0xa
jne 0x4f4e43
mov edx, dword [edi + 0x9c]
test dword [edx + 0x48], 0x4000000
jne 0x4f4e43
fnstcw word [esp + 0x16]
push ebp
movzx eax, word [esp + 0x1a]
fmul st(3)
or eax, 0xc00
mov dword [esp + 0x44], eax
mov ebx, 4
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov ecx, dword [esp + 0x44]
fldcw word [esp + 0x1a]
fnstcw word [esp + 0x1a]
fmul st(2)
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
fldcw word [esp + 0x44]
add eax, 0xfffffff9
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
sub ecx, edx
fldcw word [esp + 0x1a]
imul ecx, eax
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
fmulp st(1)
or eax, 0xc00
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1c]
fldcw word [esp + 0x44]
fistp qword [esp + 0x44]
mov edx, dword [esp + 0x44]
sub edx, ecx
sub edx, dword [esp + 0x24]
fldcw word [esp + 0x1a]
push edx
mov edx, esi
push eax
and edx, 0xf
jmp 0x4f45d4
fstp st(3)
fstp st(4)
fstp st(1)
fstp st(2)
fstp st(1)
jmp 0x4f4e45
fstp st(2)
fstp st(0)
fstp st(0)
fstp st(0)
mov ecx, dword [edi + 0xa0]
add dword [esp + 0x24], 0xa8
add ebp, 1
cmp ebp, dword [ecx + 8]
jl 0x4f42e5
jmp 0x4f4e67
fstp st(0)
lea eax, [edi + 0x1c4]
test eax, eax
je 0x4f4e94
mov eax, dword [eax + 0x20]
fstp st(0)
lea edx, [esp + 0x40]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [esp + 0x40]
push ecx
mov ecx, edi
call fcn.0050743c
fld qword [0x5b65b8]
mov esi, dword [esp + 0x2c]
test esi, esi
mov ebx, dword [esp + 0x44]
mov ebp, ebx
je 0x4f4ec2
fld qword [0x58c208]
fmul st(1)
call fcn.005296d0
fmul qword [0x58be98]
mov ebp, eax
call fcn.005296d0
sub ebp, eax
add ebp, ebx
jmp 0x4f4ec4
fstp st(0)
mov edx, dword [esp + 0x40]
push 1
push 0
push 0
push ebp
push edx
lea ebx, [edi + 0x218]
push 0x5bda30
mov ecx, ebx
call fcn.00505623
mov eax, dword [edi + 0x9c]
mov ecx, dword [eax + 4]
and cl, 0x10
neg cl
sbb ecx, ecx
and ecx, 0xfffffffb
add ecx, 5
push ecx
lea ecx, [edi + 0x11c]
call fcn.00505414
neg esi
sbb esi, esi
and esi, 5
push esi
lea ecx, [edi + 0x1c4]
call fcn.00505414
mov eax, dword [esp + 0x30]
neg eax
sbb eax, eax
and eax, 5
push eax
mov ecx, ebx
call fcn.00505414
mov edx, dword [edi + 0x9c]
test dword [edx + 0x24], 0x400
je 0x4f4f46
push 0
lea ecx, [edi + 0x170]
call fcn.00505414
mov eax, dword [edi + 0x9c]
test dword [eax + 0x24], 0x200
je 0x4f4f74
cmp dword [edi + 0x118], 0
je 0x4f4f67
test dword [eax + 0x48], 0x40000
je 0x4f4f74
push 0
lea ecx, [edi + 0x1c4]
call fcn.00505414
mov eax, dword [edi + 0x9c]
test byte [eax + 0x48], 4
je 0x4f4f89
push 0
mov ecx, ebx
call fcn.00505414
mov ecx, dword [edi + 0x78]
mov edx, dword [ecx]
lea eax, [edi + 0x78]
push 1
push eax
call edx
mov eax, dword [edi + 0x20]
push 0
push 1
push 0xb
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi + 0x20]
push 1
push 0
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [edi + 0x20]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
pop edi
mov eax, 1
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret