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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
push esi
push edi
mov edi, dword [0x10087770]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov eax, dword [edi + 0x19ac]
mov byte [eax + 0x7c], 1
mov eax, dword [edi + 0x19ac]
mov dword [esp + 0x30], eax
cmp byte [eax + 0x7f], 0
je 0x45e800
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, edx
shr eax, 1
and al, 1
mov dword [esp + 0x94], eax
jne 0x45e82f
test edx, 0x400
jne 0x45e82f
movss xmm0, dword [edi + 0x1550]
movss dword [esp + 0x50], xmm0
mov dword [esp + 0x54], 0
jmp 0x45e843
mov eax, dword [edi + 0x1550]
mov ecx, dword [edi + 0x1554]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x50]
movss xmm3, dword [eax]
movss xmm6, dword [eax + 4]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 8]
mov esi, eax
movss dword [esp + 0x38], xmm3
movss dword [esp + 0x6c], xmm6
cmp eax, 0xffffffff
jae 0x45e880
mov cl, byte [esi]
test cl, cl
je 0x45e880
cmp cl, 0x23
jne 0x45e87a
cmp byte [esi + 1], cl
je 0x45e880
inc esi
cmp esi, 0xffffffff
jb 0x45e86a
movss xmm1, dword [edi + 0x18c8]
cmp eax, esi
jne 0x45e891
xorps xmm2, xmm2
jmp 0x45e8e3
movss xmm3, dword [0x10081e18]
movaps xmm2, xmm1
push 0
push esi
push eax
push ecx
mov ecx, dword [edi + 0x18c4]
lea eax, [esp + 0x50]
mov dword [esp], 0xbf800000
push eax
call fcn.0044ac82
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [0x10081d08]
movss xmm1, dword [esp + 0x44]
movss xmm3, dword [esp + 0x38]
movss xmm6, dword [esp + 0x6c]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cmp byte [esp + 0x94], 0
movaps xmm0, xmm6
mov eax, dword [esp + 0x30]
addss xmm6, xmm6
movss xmm5, dword [edi + 0x18c8]
movss dword [esp + 0x64], xmm1
movss dword [esp + 0x60], xmm2
maxss xmm0, dword [eax + 0xf8]
movss xmm4, dword [eax + 0xec]
addss xmm6, xmm1
movss xmm1, dword [eax + 0xcc]
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x74], xmm1
movss dword [esp + 0xa4], xmm0
movss xmm0, dword [edi + 0x1554]
addss xmm0, xmm0
addss xmm0, xmm5
minss xmm4, xmm0
movss xmm0, dword [eax + 0x208]
movss dword [esp + 0x98], xmm0
movss dword [esp + 0x78], xmm0
maxss xmm4, xmm6
movss xmm6, dword [eax + 0xc8]
movss dword [esp + 0x80], xmm6
movss dword [esp + 0x70], xmm6
movaps xmm7, xmm4
addss xmm7, dword [eax + 0xcc]
movss dword [esp + 0x7c], xmm7
je 0x45ea01
movss xmm1, dword [eax + 0x34]
mulss xmm1, dword [0x10081ca0]
movaps xmm0, xmm1
subss xmm0, dword [0x10081d0c]
cvttss2si eax, xmm0
movd xmm0, eax
cvttss2si eax, xmm1
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm3
mulss xmm1, dword [0x10081d5c]
subss xmm6, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x80], xmm6
addss xmm0, dword [esp + 0x98]
movss dword [esp + 0x70], xmm6
movss dword [esp + 0x98], xmm0
movss dword [esp + 0x78], xmm0
movaps xmm0, xmm3
addss xmm0, xmm3
jmp 0x45ea0b
movaps xmm1, xmm3
addss xmm1, xmm3
movaps xmm0, xmm1
movaps xmm3, xmm5
addss xmm3, xmm1
xorps xmm1, xmm1
comiss xmm2, xmm1
movss dword [esp + 0xa0], xmm3
jbe 0x45ea29
addss xmm0, xmm2
jmp 0x45ea2c
xorps xmm0, xmm0
movss xmm1, dword [esp + 0xa4]
addss xmm5, xmm0
lea ecx, [esp + 0x40]
movss dword [esp + 0x44], xmm4
movss dword [esp + 0x40], xmm5
call fcn.004257a2
cmp byte [esp + 0x94], 0
lea eax, [esp + 0x40]
movaps xmm0, xmmword [esp + 0x70]
je 0x45ea68
movaps xmmword [esp + 0x40], xmm0
jmp 0x45ea9a
movss xmm0, dword [esp + 0x6c]
addss xmm5, xmm6
movss dword [esp + 0x44], xmm0
movss xmm0, dword [edi + 0x1560]
addss xmm0, xmm0
movss dword [esp + 0x40], xmm6
movss dword [esp + 0x4c], xmm7
addss xmm0, xmm5
movss dword [esp + 0x48], xmm0
movups xmm0, xmmword [eax]
mov ecx, dword [esp + 0x28]
movups xmmword [esp + 0x40], xmm0
test ecx, 0x100
je 0x45eaca
mov eax, ecx
mov edx, 1
shr eax, 8
and eax, 0xffffff01
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
jmp 0x45ebc3
mov eax, dword [0x10087770]
mov dword [esp + 0x1c], eax
test byte [eax + 0x1a68], 2
mov edx, dword [eax + 0x19ac]
mov dword [esp + 0x14], edx
mov edx, dword [edx + 0x158]
je 0x45eb4f
test byte [eax + 0x1a74], 1
mov ecx, edx
je 0x45eb14
mov al, byte [eax + 0x1a70]
mov dword [esp + 0x18], eax
movzx eax, al
push eax
push dword [esp + 0x28]
call fcn.004231e2
mov edx, dword [esp + 0x18]
jmp 0x45eb6c
push 0xffffffffffffffff
push dword [esp + 0x28]
call fcn.00423112
cmp eax, 0xffffffff
jne 0x45eb63
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov al, byte [eax + 0x1a70]
mov ecx, dword [ecx + 0x158]
mov dword [esp + 0x18], eax
movzx eax, al
push eax
push dword [esp + 0x28]
call fcn.004231e2
mov edx, dword [esp + 0x18]
jmp 0x45eb6c
mov eax, ecx
mov ecx, edx
shr eax, 5
and eax, 1
push eax
push dword [esp + 0x28]
call fcn.00423112
test eax, eax
setne dl
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
cmp byte [eax + 0x2d20], 0
je 0x45ebb4
test cl, 0x10
jne 0x45ebb4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
movzx edx, dl
mov dword [esp + 0x38], 1
mov eax, dword [eax + 0x100]
sub eax, dword [ecx + 0x2d40]
cmp eax, dword [ecx + 0x2d44]
mov ecx, dword [esp + 0x28]
cmovl edx, dword [esp + 0x38]
mov dword [esp + 0x18], edx
mov eax, ecx
shr eax, 8
and al, 1
mov byte [esp + 0x14], al
test dl, dl
je 0x45ebf7
cmp byte [edi + 0x1b14], 0
jne 0x45ebf7
mov eax, ecx
and eax, 0x2008
cmp eax, 0x2000
jne 0x45ebf7
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x104]
mov eax, dword [eax + 0x100]
bts ecx, eax
mov eax, dword [esp + 0x30]
mov dword [eax + 0x104], ecx
mov al, byte [esp + 0x14]
lea ecx, [esp + 0x40]
mov byte [esp + 0x2e], dl
mov edx, dword [esp + 0x24]
push 0
mov byte [esp + 0x16], al
call fcn.004258b2
mov ecx, dword [esp + 0x34]
add esp, 4
movaps xmm0, xmmword [esp + 0x70]
or dword [ecx + 0x10c], 2
movups xmmword [ecx + 0x120], xmm0
test al, al
jne 0x45ec46
mov eax, dword [esp + 0x18]
test al, al
je 0x45f489
test byte [esp + 0x28], 8
jmp 0x45f47a
mov ecx, dword [esp + 0x28]
mov edx, 0x440
mov eax, ecx
and eax, 4
mov dword [esp + 0xa8], eax
mov eax, 0x400
cmove edx, eax
mov eax, ecx
and eax, 0x40
mov dword [esp + 0x38], eax
je 0x45ec7f
mov eax, ecx
and eax, 0x80
or eax, 0x400
shr eax, 6
or edx, eax
mov al, cl
lea ecx, [esp + 0x40]
and al, 1
mov byte [esp + 0x2f], al
mov eax, edx
or eax, 0x1000
cmp byte [esp + 0x14], 0
cmovne eax, edx
mov edx, dword [esp + 0x24]
push eax
lea eax, [esp + 0x3b]
push eax
lea eax, [esp + 0x2b]
push eax
call fcn.0044d332
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, dword [0x10087770]
mov byte [esp + 0x1c], 0
test cl, cl
jne 0x45ef7e
test al, al
je 0x45ee24
mov eax, dword [esp + 0x28]
test al, 0xc0
je 0x45ecee
mov edx, dword [esp + 0x24]
cmp dword [edi + 0x1abc], edx
mov edx, dword [0x10087770]
mov byte [esp + 0x1c], cl
jne 0x45ecf3
mov byte [esp + 0x1c], 1
mov ecx, dword [esp + 0x14]
test al, al
jns 0x45eddc
movss xmm3, dword [esp + 0x40]
mov eax, dword [edx + 0x19ac]
movaps xmm0, xmm3
addss xmm0, dword [esp + 0xa0]
movss xmm1, dword [edx + 0x1570]
add eax, 0x210
movss xmm4, dword [esp + 0x44]
movaps xmm5, xmm1
movss xmm2, dword [esp + 0x4c]
maxss xmm3, dword [eax]
minss xmm0, dword [eax + 8]
maxss xmm4, dword [eax + 4]
minss xmm2, dword [eax + 0xc]
subss xmm3, xmm1
movss xmm1, dword [edx + 0xe0]
addss xmm5, xmm0
movss xmm0, dword [edx + 0x1574]
movaps xmm6, xmm0
subss xmm4, xmm0
addss xmm6, xmm2
comiss xmm1, xmm3
jb 0x45edbb
movss xmm0, dword [edx + 0xe4]
comiss xmm0, xmm4
jb 0x45edbb
comiss xmm5, xmm1
jbe 0x45edbb
comiss xmm6, xmm0
jbe 0x45edbb
cmp byte [edi + 0x1b17], 0
mov al, byte [esp + 0x2e]
mov cl, byte [esp + 0x12]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jne 0x45edc7
mov byte [esp + 0x13], 1
mov dl, byte [esp + 0x13]
or byte [esp + 0x1c], dl
mov edx, dword [0x10087770]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jmp 0x45ede0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov byte [esp + 0x13], 0
mov dl, byte [esp + 0x13]
or byte [esp + 0x1c], dl
mov edx, dword [0x10087770]
jmp 0x45ede0
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x38], 0
je 0x45edfb
mov edx, dword [esp + 0x1c]
or dl, byte [edi + 0x3dd]
mov dword [esp + 0x1c], edx
mov edx, dword [0x10087770]
cmp byte [edi + 0x1d18], 0
je 0x45ee24
mov edx, dword [esp + 0x1c]
movzx edx, dl
mov dword [esp + 0x1c], edx
xor edx, edx
test al, al
mov eax, dword [esp + 0x1c]
cmovne eax, edx
mov edx, dword [0x10087770]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov byte [esp + 0x12], cl
mov ecx, dword [esp + 0x24]
cmp dword [edi + 0x1ab8], ecx
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x13], al
jne 0x45eecb
cmp byte [edi + 0x1b31], 0
je 0x45eecb
cmp dword [edi + 0x1b3c], 0
jne 0x45eecb
test al, al
je 0x45eecb
mov byte [edx + 0x1b31], 0
cmp byte [edx + 0x1b31], 0
mov byte [esp + 0x1c], 1
jne 0x45ee81
cmp byte [edx + 0x1b19], 0
jne 0x45ee81
mov byte [edx + 0x1b18], 0
jmp 0x45eecb
cmp dword [edx + 0x1ab4], 0
mov cl, byte [esp + 0x12]
mov byte [edx + 0x1b18], 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
jne 0x45eecb
push 0x1ef6
push 0x10054490
push 0x10056c68
call dword [0x10054230]
mov al, byte [esp + 0x1f]
add esp, 0xc
mov cl, byte [esp + 0x12]
mov edx, dword [0x10087770]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov byte [esp + 0x12], cl
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x13], al
cmp dword [edi + 0x1ab8], ecx
jne 0x45ef51
cmp byte [edi + 0x1b31], 0
je 0x45ef51
cmp dword [edi + 0x1b3c], 1
jne 0x45ef51
test al, al
jne 0x45ef51
mov byte [edx + 0x1b31], al
test al, al
jne 0x45ef0f
cmp byte [edx + 0x1b19], al
jne 0x45ef0f
mov byte [edx + 0x1b18], al
jmp 0x45ef58
cmp dword [edx + 0x1ab4], 0
mov cl, byte [esp + 0x12]
mov al, byte [esp + 0x13]
mov byte [edx + 0x1b18], 1
mov byte [esp + 0x14], cl
jne 0x45ef58
push 0x1ef6
push 0x10054490
push 0x10056c68
call dword [0x10054230]
mov cl, byte [esp + 0x1e]
add esp, 0xc
mov al, byte [esp + 0x13]
mov byte [esp + 0x14], cl
jmp 0x45ef58
cmp byte [esp + 0x1c], 0
je 0x45ef7e
test al, al
sete al
mov dword [esp + 0x18], eax
movzx eax, al
push eax
mov eax, dword [esp + 0x34]
push dword [esp + 0x28]
mov ecx, dword [eax + 0x158]
call fcn.004231e2
mov edx, dword [0x10087770]
cmp dword [esp + 0xa8], 0
je 0x45efb8
mov ecx, dword [edx + 0x19ac]
mov eax, dword [edx + 0x19bc]
cmp eax, dword [ecx + 0x108]
jne 0x45efa3
mov byte [edx + 0x19c0], 1
mov eax, dword [edx + 0x19d0]
cmp eax, dword [ecx + 0x108]
jne 0x45efb8
mov byte [edx + 0x19dd], 1
cmp byte [esp + 0x37], 0
mov al, byte [esp + 0x23]
je 0x45efce
test al, al
je 0x45efce
mov ecx, 0x1a
jmp 0x45efd8
xor ecx, ecx
test al, al
setne cl
add ecx, 0x18
movss xmm1, dword [0x10081d0c]
call fcn.00422f62
movss xmm1, dword [0x10081d0c]
xor ecx, ecx
mov dword [esp + 0x38], eax
call fcn.00422f62
cmp byte [esp + 0x94], 0
mov ecx, eax
movss xmm2, dword [esp + 0xa0]
movss xmm1, dword [esp + 0x80]
movaps xmm0, xmm2
movss xmm4, dword [esp + 0x6c]
addss xmm0, xmm1
movss xmm3, dword [esp + 0xa4]
mov dword [esp + 0x1c], ecx
movss dword [esp + 0x40], xmm0
movaps xmm0, xmm4
addss xmm0, xmm3
movss dword [esp + 0xa8], xmm0
movss dword [esp + 0x44], xmm0
je 0x45f28e
push dword [esp + 0x7c]
movss xmm2, dword [edi + 0x1558]
mov dl, 1
push dword [esp + 0x7c]
mov ecx, dword [esp + 0x40]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.004240e2
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x80]
push 2
call fcn.004248e2
mov eax, dword [esp + 0x70]
add esp, 0x14
movss xmm3, dword [0x10081d0c]
mov edx, dword [esp + 0x1c]
movss xmm0, dword [eax]
xor eax, eax
addss xmm0, dword [esp + 0x80]
cmp byte [esp + 0x18], al
setne al
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0xa8]
movss dword [esp + 0x3c], xmm0
lea eax, [eax*2 + 1]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x27c]
call fcn.00424502
mov edx, dword [esp + 0x34]
add esp, 0xc
test edx, 0x100000
je 0x45f114
movss xmm0, dword [edi + 0x1550]
addss xmm0, dword [edi + 0x18c8]
movss xmm1, dword [esp + 0x98]
subss xmm1, xmm0
movss dword [esp + 0x78], xmm1
cmp byte [edi + 0x2d20], 0
je 0x45f1f5
mov ax, word [0x1007e8f0]
lea edx, [esp + 0x5c]
mov word [esp + 0x14], ax
lea ecx, [esp + 0x40]
mov al, byte [0x1007e8f2]
mov byte [esp + 0x16], al
lea eax, [esp + 0x5f]
push eax
mov dword [esp + 0x60], 0x23230a
call fcn.00435ad2
mov edx, dword [ebp + 8]
or eax, 0xffffffff
add esp, 4
mov dword [esp + 0x50], 0
test esi, esi
mov dword [esp + 0x54], 0
mov edi, edx
cmove esi, eax
cmp edx, esi
jae 0x45f188
mov cl, byte [edi]
test cl, cl
je 0x45f188
cmp cl, 0x23
jne 0x45f183
cmp byte [edi + 1], cl
je 0x45f188
inc edi
cmp edi, esi
jb 0x45f173
mov eax, edi
sub eax, edx
je 0x45f1db
mov esi, dword [0x10087770]
lea eax, [esp + 0x50]
push 0
push eax
lea eax, [esp + 0x68]
mov ecx, dword [esi + 0x19ac]
push eax
push edi
push edx
mov ecx, dword [ecx + 0x27c]
lea eax, [esp + 0x8c]
push eax
lea edx, [esp + 0x58]
call fcn.00423962
add esp, 0x18
cmp byte [esi + 0x2d20], 0
je 0x45f1db
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x40]
push edi
call fcn.00435ad2
add esp, 4
lea eax, [esp + 0x16]
push eax
lea edx, [esp + 0x18]
lea ecx, [esp + 0x44]
call fcn.00435ad2
add esp, 4
jmp 0x45f46b
mov ecx, dword [ebp + 8]
or eax, 0xffffffff
test esi, esi
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov edi, ecx
cmove esi, eax
cmp ecx, esi
jae 0x45f22e
mov cl, byte [edi]
test cl, cl
je 0x45f22b
cmp cl, 0x23
jne 0x45f226
cmp byte [edi + 1], cl
je 0x45f22b
inc edi
cmp edi, esi
jb 0x45f216
mov ecx, dword [ebp + 8]
mov eax, edi
sub eax, ecx
je 0x45f46f
mov esi, dword [0x10087770]
lea eax, [esp + 0x50]
push 0
push eax
lea eax, [esp + 0x68]
push eax
push edi
push ecx
mov ecx, dword [esi + 0x19ac]
lea eax, [esp + 0x8c]
push eax
lea edx, [esp + 0x58]
mov ecx, dword [ecx + 0x27c]
call fcn.00423962
add esp, 0x18
cmp byte [esi + 0x2d20], 0
je 0x45f46b
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x40]
push edi
call fcn.00435ad2
add esp, 4
jmp 0x45f46b
cmp byte [esp + 0x23], 0
jne 0x45f2a0
cmp byte [esp + 0x2f], 0
je 0x45f329
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x74]
push 0xf
mov dword [esp + 0xb0], ecx
mov ecx, dword [edx + 0x19ac]
push ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [ecx + 0x27c]
mov dword [esp], 0
push dword [esp + 0x40]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.004463e2
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x70]
push 2
call fcn.004248e2
movss xmm1, dword [esp + 0x84]
add esp, 4
movss xmm2, dword [esp + 0xa0]
movss xmm3, dword [esp + 0xa4]
movss xmm4, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
test dword [esp + 0x28], 0x200
je 0x45f3cc
test dword [esp + 0x1c], 0xff000000
movss xmm0, dword [edi + 0x18c8]
mulss xmm0, dword [0x10081ca0]
mov eax, dword [esp + 0x30]
mulss xmm2, dword [0x10081ca0]
addss xmm0, xmm3
mov ecx, dword [eax + 0x27c]
addss xmm2, xmm1
mov dword [esp + 0x38], ecx
addss xmm0, xmm4
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x54], xmm0
je 0x45f438
mov eax, dword [ecx + 0x28]
xorps xmm3, xmm3
push 7
push ecx
mov dword [esp], 0x40afede0
movss xmm2, dword [eax + 0xc]
lea eax, [esp + 0x58]
mulss xmm2, dword [0x10081c6c]
push eax
call fcn.00445a82
mov eax, dword [esp + 0x38]
mov ecx, eax
push dword [esp + 0x1c]
push dword [eax + 0x58]
push dword [eax + 0x60]
call fcn.00445582
mov eax, dword [esp + 0x38]
mov dword [eax + 0x58], 0
jmp 0x45f438
cmp byte [esp + 0x14], 0
jne 0x45f438
mov eax, dword [esp + 0x5c]
mov edx, ecx
movss xmm0, dword [eax]
xor eax, eax
cmp byte [esp + 0x18], al
addss xmm0, xmm1
setne al
movss dword [esp + 0x60], xmm0
movss xmm0, dword [edi + 0x18c8]
lea eax, [eax*2 + 1]
mulss xmm0, dword [0x10081c58]
addss xmm0, xmm3
movss xmm3, dword [0x10081ccc]
addss xmm0, xmm4
movss dword [esp + 0x64], xmm0
push dword [esp + 0x64]
push dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x27c]
call fcn.00424502
add esp, 0xc
cmp byte [edi + 0x2d20], 0
je 0x45f454
push 0
mov edx, 0x10057658
lea ecx, [esp + 0x44]
call fcn.00435ad2
add esp, 4
push dword [esp + 0x44]
mov ecx, dword [ebp + 8]
mov edx, esi
push dword [esp + 0x44]
push 0
call fcn.00423762
add esp, 0xc
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
test al, al
je 0x45f489
test dl, 8
jne 0x45f489
mov ecx, dword [esp + 0x24]
call fcn.0045f492
mov eax, dword [esp + 0x18]
pop edi
pop esi
mov esp, ebp
pop ebp
ret