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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [0x5bd200]
xor eax, esp
mov dword [esp + 0x20], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], edi
mov esi, dword [edi]
test esi, esi
je 0x4b14fc
cmp byte [esi + 0x38], 0
je 0x4b1472
cmp byte [ebp + 8], 0
mov byte [esi + 0x38], 0
je 0x4b185b
mov eax, dword [esi]
jmp 0x4b1853
cmp byte [ebp + 8], 0
lea ebx, [esi + 0x14]
mov dword [esi], 0
xorps xmm0, xmm0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
movups xmmword [ebx], xmm0
movq qword [ebx + 0x10], xmm0
mov dword [ebx + 0x18], 0
je 0x4b14c0
push 1
push 0
push 0
push 0
push ebx
call dword [0x556668]
jmp 0x4b14cd
push 0
push 0
push 0
push ebx
call dword [0x556548]
mov dword [esp + 0xc], eax
test eax, eax
je 0x4b14ea
mov edx, dword [esi + 0x18]
cmp edx, 0xcae
jne 0x4b1512
mov dword [esi], 0xfffffffa
mov byte [esi + 0x39], 1
cmp byte [ebp + 8], 0
je 0x4b1712
test eax, eax
jne 0x4b1721
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.00538a45
mov esp, ebp
pop ebp
ret 4
test edx, edx
je 0x4b185b
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x4b14ea
cmp edx, 0xcb1
jne 0x4b14ea
mov edx, dword [ecx + 0x3c]
mov eax, dword [esi + 0x1c]
mov dword [esp + 0xc], eax
test edx, edx
je 0x4b185b
cmp eax, 1
jl 0x4b185b
cmp eax, dword [ecx + 0x40]
jg 0x4b185b
lea eax, [eax + eax*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x4b185b
mov edx, dword [esi + 0x20]
cmp edx, 0x205
jne 0x4b15a0
mov eax, dword [ecx + 0x1c0]
mov edx, dword [ebx]
test eax, eax
je 0x4b185b
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffffea
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], 0x205
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], edx
jmp 0x4b16e9
cmp edx, 0x203
jne 0x4b15e2
mov eax, dword [ecx + 0x1c0]
mov edx, dword [ebx]
test eax, eax
je 0x4b185b
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xfffffff2
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], 0x203
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], edx
jmp 0x4b16e9
cmp edx, 0x202
jne 0x4b1600
push 0
push 0
push dword [ebx]
push edx
mov edx, dword [esp + 0x1c]
push edx
call fcn.0043c950
jmp 0x4b185b
cmp edx, 0x402
jne 0x4b1642
mov eax, dword [ecx + 0x1c0]
mov edx, dword [ebx]
test eax, eax
je 0x4b185b
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff35
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], 0x402
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], edx
jmp 0x4b16e9
cmp edx, 0x403
je 0x4b16b8
cmp edx, 0x404
je 0x4b16b8
mov ebx, dword [ebx]
mov eax, dword [ecx + 0x1c0]
cmp edx, 0x405
jne 0x4b168d
test eax, eax
je 0x4b185b
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff34
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], edx
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], ebx
jmp 0x4b16e9
test eax, eax
je 0x4b185b
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff36
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], edx
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], ebx
jmp 0x4b16e9
mov eax, dword [ecx + 0x1c0]
mov esi, dword [ebx]
test eax, eax
je 0x4b185b
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff33
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], edx
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], esi
mov eax, dword [ecx + 0x1c0]
mov edx, dword [esp + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 0x10], 0
mov eax, dword [ecx + 0x1c0]
mov byte [eax + 0x38], 1
jmp 0x4b185b
test eax, eax
jg 0x4b1721
mov dword [esi], 0xfffffed4
jmp 0x4b14fc
cmp dword [esi + 0x18], 0x100
jne 0x4b17e3
mov eax, dword [esi + 0x30]
mov dword [esp + 0x10], eax
test eax, eax
je 0x4b17e3
mov eax, 0xd
cmp ax, word [esi + 0x1c]
jne 0x4b17e3
mov eax, dword [ebx]
xor ecx, ecx
mov dword [esp + 0x14], eax
test eax, eax
je 0x4b17bd
push 0xfffffffffffffff4
push eax
call dword [0x556660]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x3c]
test edx, edx
je 0x4b17b9
cmp eax, 1
jl 0x4b17b9
cmp eax, dword [ecx + 0x40]
jg 0x4b17b9
lea ecx, [eax + eax*8]
cmp dword [edx + ecx*8 + 0xc], 0
je 0x4b17b9
mov ecx, dword [esp + 0x14]
lea edi, [eax + eax*8]
cmp dword [edx + edi*8 + 4], ecx
mov edi, dword [esp + 0x18]
jne 0x4b17b9
mov edx, dword [esi + 0x30]
mov ecx, dword [edx + 0x3c]
test ecx, ecx
je 0x4b17bb
cmp eax, dword [edx + 0x40]
jg 0x4b17bb
lea edx, [eax + eax*8]
cmp dword [ecx + edx*8 + 0xc], 0
je 0x4b17bb
mov ecx, dword [ecx + edx*8]
cmp ecx, 0x23
je 0x4b17c7
cmp ecx, 0x24
jne 0x4b17bd
jmp 0x4b17c7
xor eax, eax
xor ecx, ecx
cmp ecx, 0x22
je 0x4b17c7
cmp ecx, 0x25
jne 0x4b17e3
mov ecx, dword [ebx]
push ecx
movzx eax, ax
push eax
push 0x111
push ecx
call dword [0x55656c]
push eax
call dword [0x55657c]
jmp 0x4b184f
mov eax, dword [esi + 0x34]
test eax, eax
je 0x4b182e
test ebx, ebx
jne 0x4b17f2
xor cl, cl
jmp 0x4b182a
mov ecx, dword [eax + 0x244]
add eax, 0x230
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x4b181c
push ebx
push ecx
push dword [eax]
call dword [0x5565f4]
test eax, eax
setne cl
test eax, eax
jne 0x4b182a
mov eax, dword [esp + 0x18]
push ebx
push dword [eax]
call dword [0x556690]
test eax, eax
setne cl
test cl, cl
jne 0x4b183c
push ebx
call dword [0x5565ec]
push ebx
call dword [0x556658]
mov al, byte [ebp + 8]
mov byte [esi + 0x38], 0
cmp al, 1
jne 0x4b184b
mov eax, dword [esi]
jmp 0x4b1853
cmp al, 2
je 0x4b185b
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4b14fc
cmp dword [edi + 0x6a0], 4
jne 0x4b18d3
mov eax, dword [edi]
mov ecx, dword [eax]
lea eax, [ecx + 0x1a]
cmp eax, 0x1a
ja 0x4b18b1
cmp ecx, 0xfffffffe
je 0x4b18b1
cmp ecx, 0xfffffff9
je 0x4b18b1
cmp ecx, 0xfffffff8
je 0x4b18b1
cmp ecx, 0xfffffff6
je 0x4b18b1
cmp ecx, 0xfffffff3
je 0x4b18b1
cmp ecx, 0xfffffff2
je 0x4b18b1
cmp ecx, 0xffffffee
je 0x4b18b1
cmp ecx, 0xffffffed
je 0x4b18b1
cmp ecx, 0xffffffec
je 0x4b18b1
cmp ecx, 0xffffffe7
je 0x4b18b1
cmp ecx, 0xfffffff5
je 0x4b18b1
cmp ecx, 0xffffffea
je 0x4b18b1
cmp ecx, 0xfffffffa
jne 0x4b18d3
lea ecx, [edi + 0x690]
call fcn.0043e900
cmp dword [edi + 0x1c4c], 0
jne 0x4b18d3
mov eax, dword [edi]
cmp byte [eax + 0x39], 0
je 0x4b18d3
mov dword [eax], 0xfffffffa
mov ecx, dword [edi]
mov edx, dword [ecx + 0x30]
cmp edx, dword [edi + 4]
jne 0x4b1918
mov eax, dword [edi + 8]
mov ecx, dword [ecx]
cmp ecx, dword [eax + 0xc]
jne 0x4b18f4
mov ecx, dword [edi + 0x20]
sub esp, 0xc
call fcn.0041c280
jmp 0x4b1934
cmp ecx, dword [eax + 4]
jne 0x4b1934
cmp dword [edi + 0x1c48], 0
je 0x4b1909
mov ecx, edi
call fcn.004dd1f0
sub esp, 0xc
mov ecx, 0x58ced8
call fcn.0041c280
jmp 0x4b1934
lea eax, [edi + 0x9a8]
cmp edx, eax
jne 0x4b1934
mov eax, dword [ecx]
test eax, eax
jle 0x4b1934
cmp eax, dword [edi + 0x938]
jne 0x4b1934
mov byte [edi + 0x40], 1
mov eax, dword [edi + 0x1c4c]
test eax, eax
jne 0x4b194c
cmp dword [edi + 0x1c48], eax
je 0x4b1dbf
jmp 0x4b1955
cmp eax, 6
jg 0x4b1a08
mov eax, dword [edi]
cmp byte [eax + 0x39], 0
jne 0x4b1a08
mov esi, dword [0x5565a8]
push 1
call esi
test ax, ax
js 0x4b1dbf
push 2
call esi
test ax, ax
js 0x4b1dbf
mov eax, dword [edi + 0x1c4c]
mov ebx, dword [0x556354]
cmp dword [edi + 0x1c48], eax
jne 0x4b1a03
movsd xmm0, qword [edi + 0x1c60]
lea esi, [edi + 0x1c58]
ucomisd xmm0, qword [0x5ab018]
movsd qword [esp + 0x18], xmm0
lahf
test ah, 0x44
jnp 0x4b19d9
push esi
call ebx
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.0054a0b0
divsd xmm0, qword [esi + 0x10]
subsd xmm0, qword [esp + 0x18]
comisd xmm0, xmmword [0x5ab178]
ja 0x4b19f6
cmp dword [edi + 0x6a0], 4
jne 0x4b19f6
push dword [edi + 0x8f0]
call dword [0x55650c]
test eax, eax
jne 0x4b1dbf
mov eax, dword [edi + 0x1c48]
inc eax
mov dword [edi + 0x1c4c], eax
cmp eax, 6
jle 0x4b1a26
mov ecx, edi
call fcn.004dd1f0
movzx eax, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.00538a45
mov esp, ebp
pop ebp
ret 4
lea esi, [edi + 0x1c58]
mov dword [esp + 0xc], 0xffffffff
push esi
mov dword [esp + 0x14], 0xffffffff
call ebx
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.0054a0b0
divsd xmm0, qword [esi + 0x10]
movsd qword [esi + 8], xmm0
mov eax, dword [edi + 0x1c4c]
cmp eax, 1
jne 0x4b1b1d
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push 0x40
push dword [eax + 0x78]
call fcn.00438420
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push 0x40
push dword [eax + 0x7c]
call fcn.00438420
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push 0x40
push dword [eax + 0x80]
call fcn.00438420
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push 0x40
push dword [eax + 0x90]
call fcn.00438420
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x64]
mov eax, dword [edi + 4]
lea edx, [eax + 0x3c]
cmp ecx, 0xffffffff
jne 0x4b1abe
mov ecx, dword [eax + 0x40]
jmp 0x4b1ad8
mov esi, dword [edx]
test esi, esi
je 0x4b1af0
cmp ecx, 1
jl 0x4b1af0
cmp ecx, dword [eax + 0x40]
jg 0x4b1af0
lea eax, [ecx + ecx*8]
cmp dword [esi + eax*8 + 0xc], 0
je 0x4b1af0
mov eax, dword [edx]
lea ecx, [ecx + ecx*8]
push 0
push 0
push 0x1330
push dword [eax + ecx*8 + 4]
call dword [0x55657c]
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x10]
push eax
push 0
call fcn.004dd110
push 0
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 4
push 0x58cf10
jmp 0x4b1dac
cmp eax, 2
jne 0x4b1b97
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x64]
mov eax, dword [edi + 4]
lea edx, [eax + 0x3c]
cmp ecx, 0xffffffff
jne 0x4b1b38
mov ecx, dword [eax + 0x40]
jmp 0x4b1b52
mov esi, dword [edx]
test esi, esi
je 0x4b1b6a
cmp ecx, 1
jl 0x4b1b6a
cmp ecx, dword [eax + 0x40]
jg 0x4b1b6a
lea eax, [ecx + ecx*8]
cmp dword [esi + eax*8 + 0xc], 0
je 0x4b1b6a
mov eax, dword [edx]
lea ecx, [ecx + ecx*8]
push 0
push 1
push 0x1330
push dword [eax + ecx*8 + 4]
call dword [0x55657c]
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x10]
push eax
push 1
call fcn.004dd110
push 0
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 4
push 0x58d048
jmp 0x4b1dac
cmp eax, 3
jne 0x4b1c11
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x64]
mov eax, dword [edi + 4]
lea edx, [eax + 0x3c]
cmp ecx, 0xffffffff
jne 0x4b1bb2
mov ecx, dword [eax + 0x40]
jmp 0x4b1bcc
mov esi, dword [edx]
test esi, esi
je 0x4b1be4
cmp ecx, 1
jl 0x4b1be4
cmp ecx, dword [eax + 0x40]
jg 0x4b1be4
lea eax, [ecx + ecx*8]
cmp dword [esi + eax*8 + 0xc], 0
je 0x4b1be4
mov eax, dword [edx]
lea ecx, [ecx + ecx*8]
push 0
push 2
push 0x1330
push dword [eax + ecx*8 + 4]
call dword [0x55657c]
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x10]
push eax
push 2
call fcn.004dd110
push 0
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 4
push 0x58d1a8
jmp 0x4b1dac
cmp eax, 4
jne 0x4b1c8b
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x64]
mov eax, dword [edi + 4]
lea edx, [eax + 0x3c]
cmp ecx, 0xffffffff
jne 0x4b1c2c
mov ecx, dword [eax + 0x40]
jmp 0x4b1c46
mov esi, dword [edx]
test esi, esi
je 0x4b1c5e
cmp ecx, 1
jl 0x4b1c5e
cmp ecx, dword [eax + 0x40]
jg 0x4b1c5e
lea eax, [ecx + ecx*8]
cmp dword [esi + eax*8 + 0xc], 0
je 0x4b1c5e
mov eax, dword [edx]
lea ecx, [ecx + ecx*8]
push 0
push 3
push 0x1330
push dword [eax + ecx*8 + 4]
call dword [0x55657c]
lea eax, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x10]
push eax
push 3
call fcn.004dd110
push 0
push dword [esp + 0x14]
push dword [esp + 0x14]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 4
push 0x58d330
jmp 0x4b1dac
cmp eax, 5
jne 0x4b1d1e
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x4b1ca9
mov eax, dword [edx + 0x230]
jmp 0x4b1cd5
lea ecx, [edx + 0x40]
cmp eax, 0xffffffff
jne 0x4b1cb3
mov eax, dword [ecx]
mov edx, dword [edx + 0x3c]
test edx, edx
je 0x4b1cd3
cmp eax, 1
jl 0x4b1cd3
cmp eax, dword [ecx]
jg 0x4b1cd3
lea eax, [eax + eax*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x4b1cd3
mov eax, dword [edx + eax*8 + 4]
jmp 0x4b1cd5
xor eax, eax
lea ecx, [esp + 0x18]
push ecx
push eax
call dword [0x556524]
mov eax, dword [edi + 4]
lea ecx, [esp + 0x18]
push 2
push ecx
push dword [eax + 0x230]
push 0
call dword [0x556664]
mov eax, dword [esp + 0x1c]
push 0x12c0
add eax, 0xa
push eax
mov eax, dword [esp + 0x20]
add eax, 0x28
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 4
push 0x58d4e0
jmp 0x4b1dac
cmp eax, 6
jne 0x4b1db3
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x4b1d3c
mov eax, dword [edx + 0x230]
jmp 0x4b1d68
lea ecx, [edx + 0x40]
cmp eax, 0xffffffff
jne 0x4b1d46
mov eax, dword [ecx]
mov edx, dword [edx + 0x3c]
test edx, edx
je 0x4b1d66
cmp eax, 1
jl 0x4b1d66
cmp eax, dword [ecx]
jg 0x4b1d66
lea eax, [eax + eax*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x4b1d66
mov eax, dword [edx + eax*8 + 4]
jmp 0x4b1d68
xor eax, eax
lea ecx, [esp + 0x18]
push ecx
push eax
call dword [0x556524]
mov eax, dword [edi + 4]
lea ecx, [esp + 0x18]
push 2
push ecx
push dword [eax + 0x230]
push 0
call dword [0x556664]
mov eax, dword [esp + 0x1c]
push 0x12c0
add eax, 0x21
push eax
mov eax, dword [esp + 0x20]
add eax, 0x1e
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 4
push 0x58d668
mov ecx, edi
call fcn.004ed2d0
mov eax, dword [edi + 0x1c4c]
mov dword [edi + 0x1c48], eax
mov ecx, dword [esp + 0x2c]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00538a45
mov esp, ebp
pop ebp
ret 4