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

Disassembly:
sub esp, 0xd4
mov eax, dword [0x4c822c]
xor eax, esp
mov dword [esp + 0xd0], eax
mov ecx, dword [0x53151c]
mov eax, dword [esp + 0xd8]
push ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x19b0]
push ebp
mov ebp, dword [esp + 0xe4]
push esi
mov byte [eax + 0x7c], 1
mov esi, dword [ecx + 0x19b0]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x20], esi
cmp byte [esi + 0x7f], 0
je 0x44a4fe
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.0041598b
add esp, 0xd4
ret
push edi
mov edi, dword [0x53151c]
call fcn.00420a70
fstp dword [esp + 0x4c]
call fcn.0041d330
fstp dword [esp + 0x54]
test bl, 0x10
je 0x44a521
xorps xmm0, xmm0
jmp 0x44a52f
movss xmm0, dword [edi + 0x1560]
addss xmm0, dword [esp + 0x4c]
movss xmm1, dword [esp + 0x54]
subss xmm1, xmm0
movss dword [esp + 0x28], xmm0
push 0
push dword [esp + 0x3c]
movss dword [esp + 0x44], xmm1
call fcn.0041fe80
mov dword [esp + 0x58], eax
mov dword [edi + 0x1a84], 0
call fcn.0041c960
push dword [esp + 0x40]
call fcn.0042a090
add esp, 0xc
mov dword [esp + 0x68], ebx
test bl, 0x20
je 0x44a584
and ebx, 0xff9fffff
or ebx, 0x100008
test bl, 8
jne 0x44a593
push ebx
push ebp
call fcn.0044b1d0
add esp, 8
mov ecx, dword [edi + 0x2cd4]
test ebx, 0x700000
jne 0x44a5aa
mov eax, ecx
and eax, 0x700000
or ebx, eax
test ebx, 0x1800000
jne 0x44a5bb
mov eax, ecx
and eax, 0x1800000
or ebx, eax
test ebx, 0x6000000
jne 0x44a5cc
mov eax, ecx
and eax, 0x6000000
or ebx, eax
test ebx, 0x18000000
jne 0x44a5dd
mov eax, ecx
and eax, 0x18000000
or ebx, eax
movss xmm1, dword [ebp]
and ecx, 0xe00fffff
movss xmm3, dword [ebp + 4]
or ebx, ecx
movss xmm2, dword [ebp + 8]
mov ecx, ebx
shr ecx, 1
mov eax, ebx
not cl
shr eax, 0x13
and ecx, 0xffffff01
movss dword [esp + 0x80], xmm1
movzx edx, cl
and eax, 0xffffff01
add edx, 3
mov dword [esp + 0x20], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], edx
movss dword [esp + 0x84], xmm3
movss dword [esp + 0x88], xmm2
test cl, cl
je 0x44a64b
movss xmm0, dword [ebp + 0xc]
movss dword [esp + 0x8c], xmm0
jmp 0x44a656
mov dword [esp + 0x8c], 0x3f800000
mov eax, ebx
and eax, 0x10100000
mov dword [esp + 0x6c], eax
cmp eax, 0x10100000
jne 0x44a6e3
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x88]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm3
movss dword [esp], xmm1
call fcn.0041e3e0
movss xmm2, dword [esp + 0xa0]
add esp, 0x18
movss xmm3, dword [esp + 0x84]
movss xmm1, dword [esp + 0x80]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
xorps xmm7, xmm7
comiss xmm1, xmm7
movss xmm5, dword [0x490cdc]
movss xmm4, dword [0x48fc20]
jb 0x44a7a1
movaps xmm0, xmm4
jmp 0x44a7a4
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x44a6bf
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x88]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm3
movss dword [esp], xmm1
call fcn.0041e570
movss xmm3, dword [esp + 0x9c]
add esp, 0x18
xorps xmm7, xmm7
ucomiss xmm3, xmm7
lahf
test ah, 0x44
jp 0x44a782
mov eax, dword [edi + 0x2cdc]
cmp eax, dword [ebp]
jne 0x44a782
mov eax, dword [edi + 0x2ce0]
cmp eax, dword [ebp + 4]
jne 0x44a782
mov eax, dword [edi + 0x2ce4]
cmp eax, dword [ebp + 8]
jne 0x44a782
movss xmm1, dword [edi + 0x2cd8]
movss xmm2, dword [esp + 0x88]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
movss dword [esp + 0x80], xmm1
jmp 0x44a6c2
movss xmm2, dword [esp + 0x88]
movss xmm1, dword [esp + 0x80]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
jmp 0x44a6c2
movaps xmm0, xmm5
comiss xmm3, xmm7
movss xmm6, dword [0x4a7468]
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [esp + 0x90], eax
jb 0x44a7c9
movaps xmm0, xmm4
jmp 0x44a7cc
movaps xmm0, xmm5
comiss xmm2, xmm7
mulss xmm3, xmm6
addss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [esp + 0x94], eax
jb 0x44a7e9
movaps xmm0, xmm4
jmp 0x44a7ec
movaps xmm0, xmm5
mulss xmm2, xmm6
addss xmm2, xmm0
movss xmm0, dword [esp + 0x8c]
comiss xmm0, xmm7
cvttss2si eax, xmm2
mov dword [esp + 0x98], eax
jae 0x44a810
movaps xmm4, xmm5
movss xmm0, dword [esp + 0x8c]
mulss xmm0, xmm6
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [esp + 0x9c], eax
cmp dword [edi + 0x1590], 0
movss xmm2, dword [esi + 0xc8]
movss xmm3, dword [esi + 0xcc]
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0x30], xmm3
jne 0x44a863
movss xmm1, dword [esp + 0x28]
jmp 0x44a866
xorps xmm1, xmm1
movaps xmm0, xmm2
addss xmm0, xmm1
movss dword [esi + 0xc8], xmm0
test ebx, 0x300000
je 0x44ab12
test bl, 0x20
jne 0x44ab12
movss xmm2, dword [edi + 0x1560]
lea eax, [edx - 1]
movss xmm1, dword [esp + 0x3c]
movaps xmm0, xmm2
movd xmm3, eax
mov ecx, ebx
cvtdq2ps xmm3, xmm3
and ecx, 0x1000000
push ecx
mov dword [esp], 0xbf800000
push 0
push 0
mulss xmm0, xmm3
mov dword [esp + 0x70], ecx
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov edx, str.M:000
divss xmm1, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [0x48f4f4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm1, xmm0
movss xmm0, dword [esp + 0x48]
addss xmm2, xmm1
movss dword [esp + 0x34], xmm1
movss xmm1, dword [0x48f4f4]
mulss xmm2, xmm3
subss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, str.M:0.000
cvtdq2ps xmm0, xmm0
cmove eax, edx
push eax
lea eax, [esp + 0x28]
push eax
maxss xmm1, xmm0
movss dword [esp + 0x74], xmm1
call fcn.0041d6d0
movss xmm1, dword [esp + 0x3c]
add esp, 0x14
movss xmm0, dword [eax]
comiss xmm0, xmm1
jb 0x44a94a
xor ebp, ebp
jmp 0x44a959
mov ebp, ebx
and ebp, 0x200000
neg ebp
sbb ebp, ebp
neg ebp
inc ebp
xor esi, esi
cmp dword [esp + 0x14], esi
jbe 0x44acfe
mov eax, ebx
and eax, 8
mov dword [esp + 0x58], eax
nop
test esi, esi
jle 0x44a99a
movss xmm0, dword [edi + 0x1560]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.0042cfb0
movss xmm1, dword [esp + 0x30]
add esp, 8
mov ecx, dword [esp + 0x14]
lea eax, [esi + 1]
mov dword [esp + 0x18], eax
cmp eax, ecx
jge 0x44a9ae
movaps xmm0, xmm1
jmp 0x44a9b4
movss xmm0, dword [esp + 0x60]
push ecx
movss dword [esp], xmm0
call fcn.0042dbd0
add esp, 4
test esi, esi
jne 0x44a9db
test ebx, 0x200000
je 0x44a9db
cmp dword [esp + 0x94], esi
jne 0x44a9db
mov dl, 1
jmp 0x44a9dd
xor dl, dl
cmp dword [esp + 0x64], 0
je 0x44aa71
test dl, dl
je 0x44a9fe
movss xmm0, dword [0x4a7494]
movss xmm1, dword [0x4a7474]
jmp 0x44aa15
cmp byte [esp + 0x48], 0
je 0x44aa0a
xorps xmm0, xmm0
jmp 0x44aa12
movss xmm0, dword [0x48f4f4]
xorps xmm1, xmm1
push ecx
mov dword [esp], 0x3f800000
lea eax, [esi + ebp*4]
push dword [eax*4 + 0x4c8444]
lea eax, [esp + 0x48]
movss dword [esp + 0x4c], xmm1
push eax
lea eax, [esp + 0x50]
movss dword [esp + 0x4c], xmm0
push eax
push ecx
lea eax, [esp + 0x94]
mov dword [esp], 0x3b808081
lea eax, [eax + esi*4]
push eax
push 8
push dword [esi*4 + 0x4c8404]
call fcn.0044f440
mov cl, byte [esp + 0x32]
add esp, 0x20
or cl, al
or byte [esp + 0x13], cl
mov byte [esp + 0x12], cl
jmp 0x44aae3
test dl, dl
je 0x44aa7c
mov eax, closesocket
jmp 0x44aa8a
xor ecx, ecx
mov eax, 0xff
cmp byte [esp + 0x48], cl
cmovne eax, ecx
mov dword [esp + 0x44], eax
lea eax, [esi + ebp*4]
mov ecx, dword [eax*4 + 0x4c8414]
xor eax, eax
push ecx
test dl, dl
mov dword [esp], 0x3f800000
mov edx, closesocket
cmovne eax, edx
push ecx
mov dword [esp + 0x48], eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x4c]
push eax
push ecx
lea eax, [esp + 0xa4]
mov dword [esp], 0x3f800000
lea eax, [eax + esi*4]
push eax
push 4
push dword [esi*4 + 0x4c8404]
call fcn.0044f440
add esp, 0x20
or byte [esp + 0x12], al
cmp dword [esp + 0x58], 0
jne 0x44aaf9
push 1
push str.context
call fcn.00429920
add esp, 8
mov esi, dword [esp + 0x18]
movss xmm1, dword [esp + 0x28]
cmp esi, dword [esp + 0x14]
jl 0x44a970
jmp 0x44acfe
mov eax, ebx
and eax, 0x400020
cmp eax, 0x400000
jne 0x44ad11
mov ebp, 0xff
test cl, cl
je 0x44ab9d
mov esi, dword [esp + 0x9c]
test esi, esi
jns 0x44ab3c
xor esi, esi
jmp 0x44ab41
cmp esi, ebp
cmovg esi, ebp
mov edx, dword [esp + 0x98]
test edx, edx
jns 0x44ab50
xor edx, edx
jmp 0x44ab55
cmp edx, ebp
cmovg edx, ebp
mov ecx, dword [esp + 0x94]
test ecx, ecx
jns 0x44ab64
xor ecx, ecx
jmp 0x44ab69
cmp ecx, ebp
cmovg ecx, ebp
mov eax, dword [esp + 0x90]
test eax, eax
jns 0x44ab78
xor eax, eax
jmp 0x44ab80
cmp eax, 0xff
cmovg eax, ebp
push esi
push edx
push ecx
push eax
push 0x4ab7c8
lea eax, [esp + 0xb4]
push 0x40
push eax
call fcn.00421ac0
add esp, 0x1c
jmp 0x44abf6
mov edx, dword [esp + 0x98]
test edx, edx
jns 0x44abac
xor edx, edx
jmp 0x44abb1
cmp edx, ebp
cmovg edx, ebp
mov ecx, dword [esp + 0x94]
test ecx, ecx
jns 0x44abc0
xor ecx, ecx
jmp 0x44abc5
cmp ecx, ebp
cmovg ecx, ebp
mov eax, dword [esp + 0x90]
test eax, eax
jns 0x44abd4
xor eax, eax
jmp 0x44abdc
cmp eax, 0xff
cmovg eax, ebp
push edx
push ecx
push eax
push 0x4ab7dc
lea eax, [esp + 0xb0]
push 0x40
push eax
call fcn.00421ac0
add esp, 0x18
movss xmm0, dword [esp + 0x3c]
push ecx
movss dword [esp], xmm0
call fcn.0042dbd0
push 0
push 0
push 6
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
push 0x40
lea eax, [esp + 0xb8]
mov dword [esp + 0x34], 0
push eax
push 0
push 0x4ab7ec
call fcn.004510f0
add esp, 0x24
test al, al
je 0x44acea
mov byte [esp + 0x12], 1
lea ecx, [esp + 0xa0]
nop
mov al, byte [ecx]
cmp al, 0x23
je 0x44ac5e
cmp al, 0x20
je 0x44ac5e
cmp al, 9
jne 0x44ac61
inc ecx
jmp 0x44ac50
cmp byte [esp + 0x20], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
je 0x44acc4
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x9c]
push eax
push str._02X_02X_02X_02X
push ecx
call fcn.00401da0
add esp, 0x18
jmp 0x44acea
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x98]
push eax
push str._02X_02X_02X
push ecx
call fcn.00401da0
add esp, 0x14
test bl, 8
jne 0x44acfe
push 1
push str.context
call fcn.00429920
add esp, 8
mov ebp, dword [esp + 0x34]
xorps xmm7, xmm7
movss xmm3, dword [esp + 0x30]
movss xmm2, dword [esp + 0x2c]
xor esi, esi
test bl, 0x10
jne 0x44aef0
test bl, 0x20
jne 0x44ad37
cmp dword [edi + 0x1590], esi
je 0x44ad37
movss xmm7, dword [edi + 0x1560]
addss xmm7, dword [esp + 0x3c]
cmp byte [esp + 0x20], 0
movaps xmm0, xmm2
mov eax, dword [esp + 0x24]
addss xmm0, xmm7
movss dword [eax + 0xcc], xmm3
movss dword [eax + 0xc8], xmm0
je 0x44ad60
movss xmm1, dword [ebp + 0xc]
jmp 0x44ad68
movss xmm1, dword [0x48f4f4]
movss xmm0, dword [ebp]
lea eax, [esp + 0x70]
push esi
push esi
movss dword [esp + 0x78], xmm0
movss xmm0, dword [ebp + 4]
push ebx
movss dword [esp + 0x80], xmm0
movss xmm0, dword [ebp + 8]
push eax
push str.ColorButton
movss dword [esp + 0x8c], xmm0
movss dword [esp + 0x90], xmm1
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
call fcn.00449f50
add esp, 0x14
test al, al
je 0x44ae20
test bl, 4
jne 0x44ae20
movups xmm0, xmmword [esp + 0x70]
push 0x4ab828
movups xmmword [edi + 0x2ce8], xmm0
call fcn.00429740
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
movss xmm0, dword [eax + 0x110]
subss xmm0, dword [0x48f4f4]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [eax + 0x11c]
lea eax, [esp + 0x1c]
addss xmm0, dword [edi + 0x155c]
push eax
lea eax, [esp + 0x60]
push 0
push eax
movss dword [esp + 0x6c], xmm0
call fcn.0042dc40
add esp, 0x10
test bl, 8
jne 0x44ae34
push 1
push str.context
call fcn.00429920
add esp, 8
push 0
push 0x4ab828
call fcn.0041ca80
add esp, 8
test al, al
je 0x44aef0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov esi, dword [edi + 0x19b0]
cmp eax, ecx
je 0x44aeaa
push 0
push ecx
push eax
call fcn.00459fe0
mov ecx, dword [0x53151c]
add esp, 0xc
mov eax, dword [ecx + 0x19b0]
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x19b0]
cmp byte [eax + 0x7f], 0
jne 0x44aeaa
push ecx
lea eax, [esp + 0x1c]
mov dword [esp], 0xbf800000
push eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
call fcn.00423ad0
add esp, 8
movss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [0x4a7450]
push ecx
movss dword [esp], xmm0
call fcn.0042dbd0
lea eax, [edi + 0x2ce8]
push eax
mov eax, dword [esp + 0x70]
and eax, 0x1f890002
or eax, 0x740080
push eax
push ebp
push str.picker
call fcn.0044b5b0
or byte [esp + 0x26], al
add esp, 0x14
call fcn.0041f550
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x50]
cmp ecx, edx
je 0x44af42
test bl, bl
js 0x44af42
movss xmm1, dword [esp + 0x2c]
addss xmm1, dword [esp + 0x54]
movss xmm0, dword [edi + 0x154c]
addss xmm0, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
push 0
addss xmm1, dword [edi + 0x1560]
push edx
push ecx
movss dword [eax + 0xcc], xmm0
movss dword [eax + 0xc8], xmm1
call fcn.00459fe0
add esp, 0xc
cmp byte [esp + 0x12], 0
je 0x44b0a4
test esi, esi
jne 0x44b0a4
cmp byte [esp + 0x13], 0
jne 0x44af80
movups xmm0, xmmword [esp + 0x90]
cvtdq2ps xmm0, xmm0
divps xmm0, xmmword [0x4abb20]
movups xmmword [esp + 0x80], xmm0
nop word [eax + eax]
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x44b00c
movss xmm0, dword [esp + 0x80]
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x88]
movss dword [edi + 0x2cd8], xmm0
movss xmm0, dword [esp + 0x8c]
push eax
lea eax, [esp + 0x88]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x9c]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x98]
movss dword [esp], xmm0
call fcn.0041e3e0
movq xmm0, qword [esp + 0x98]
add esp, 0x18
movq qword [edi + 0x2cdc], xmm0
mov eax, dword [esp + 0x88]
mov dword [edi + 0x2ce4], eax
cmp dword [esp + 0x6c], 0x10100000
jne 0x44b065
movss xmm0, dword [esp + 0x88]
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x88]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x9c]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x98]
movss dword [esp], xmm0
call fcn.0041e570
add esp, 0x18
cmp byte [esp + 0x20], 0
movss xmm0, dword [esp + 0x80]
movss dword [ebp], xmm0
movss xmm0, dword [esp + 0x84]
movss dword [ebp + 4], xmm0
movss xmm0, dword [esp + 0x88]
movss dword [ebp + 8], xmm0
je 0x44b0a4
movss xmm0, dword [esp + 0x8c]
movss dword [ebp + 0xc], xmm0
call fcn.00429cc0
call fcn.0041f360
mov ecx, dword [esp + 0x24]
test byte [ecx + 0x10c], 1
je 0x44b183
test ebx, 0x200
jne 0x44b183
call fcn.0041c8d0
test al, al
je 0x44b17f
push 0
push str._COL3F
mov byte [esp + 0x1b], 0
call fcn.00419b60
add esp, 8
test eax, eax
je 0x44b10b
mov eax, dword [eax]
mov byte [esp + 0x13], 1
mov byte [esp + 0x12], 1
movq xmm0, qword [eax]
movq qword [ebp], xmm0
mov eax, dword [eax + 8]
mov dword [ebp + 8], eax
push 0
push str._COL4F
call fcn.00419b60
add esp, 8
test eax, eax
je 0x44b138
mov ecx, dword [esp + 0x14]
shl ecx, 2
push ecx
push dword [eax]
push ebp
call fcn.0046ded0
add esp, 0xc
mov byte [esp + 0x12], 1
jmp 0x44b13f
cmp byte [esp + 0x13], 0
je 0x44b17a
test ebx, 0x10000000
je 0x44b17a
movss xmm0, dword [ebp + 8]
lea ecx, [ebp + 8]
push ecx
lea eax, [ebp + 4]
push eax
push ebp
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp]
movss dword [esp], xmm0
call fcn.0041e570
add esp, 0x18
call fcn.0041f0d0
mov ecx, dword [esp + 0x24]
test esi, esi
je 0x44b19f
mov eax, dword [edi + 0x19e4]
test eax, eax
je 0x44b19f
cmp dword [edi + 0x1a10], esi
jne 0x44b19f
mov dword [ecx + 0x108], eax
mov bl, byte [esp + 0x12]
pop edi
test bl, bl
je 0x44b1b6
push dword [ecx + 0x108]
call fcn.00424500
add esp, 4
mov ecx, dword [esp + 0xdc]
mov al, bl
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0041598b
add esp, 0xd4
ret