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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x48
cmp dword [ebp + 0xc], 0x23
xorps xmm0, xmm0
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
mov eax, edx
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], 0
mov byte [esi + 0x432], 0
mov edi, dword [edi]
mov dword [esp + 0x10], edi
mov dword [esp + 0x3c], edi
jae 0x49a0e7
mov edi, 0xfffffeb8
jmp 0x49a992
movzx ecx, word [eax + edi]
lea edx, [edi + 2]
mov dword [esp + 0x18], ecx
shr dword [esp + 0x18], 8
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x20], ecx
mov word [esp + 0x30], cx
mov word [esi + 0x2e2], cx
cmp cl, 3
jae 0x49a18e
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x49a173
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483600
add esp, 4
test eax, eax
je 0x49a173
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x49a155
cmp eax, 2
je 0x49a184
mov dword [esi + 0x2b0], 0x46
mov edi, 0xfffffe57
mov dword [esi + 0x2b4], 2
jmp 0x49a992
push 0x46
mov edx, 2
mov ecx, esi
call fcn.00483600
add esp, 4
mov edi, 0xfffffe57
jmp 0x49a992
test byte [esi + 0x422], 4
mov cl, byte [esp + 0x31]
mov byte [esp + 0xa], cl
jne 0x49a1ca
cmp byte [esp + 0x20], 3
ja 0x49a1bd
cmp byte [esp + 0x18], 4
jae 0x49a1bd
cmp cl, 3
jae 0x49a1ca
mov byte [esi + 0x2e1], cl
jmp 0x49a2ea
mov cl, 3
mov byte [esi + 0x2e1], cl
jmp 0x49a2ea
add eax, edi
mov dword [esp + 0x18], 0
lea ecx, [edi + 2]
sub ecx, edi
mov edi, eax
add ecx, 0x20
movzx eax, byte [edi + ecx]
inc eax
add eax, ecx
cmp eax, edx
jbe 0x49a1f3
mov edi, 0xfffffeb8
jmp 0x49a992
lea ecx, [eax + 2]
mov dword [esp + 0x20], ecx
cmp ecx, edx
jbe 0x49a208
mov edi, 0xfffffeb8
jmp 0x49a992
movzx ecx, byte [edi + eax]
movzx eax, byte [edi + eax + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x20]
add eax, ecx
lea ecx, [eax + 1]
cmp ecx, edx
jbe 0x49a22d
mov edi, 0xfffffeb8
jmp 0x49a992
movzx eax, byte [eax + edi]
add eax, ecx
cmp eax, edx
jbe 0x49a241
mov edi, 0xfffffeb8
jmp 0x49a992
jae 0x49a2d2
lea ecx, [eax + 2]
mov dword [esp + 0x20], ecx
cmp ecx, edx
jbe 0x49a25c
mov edi, 0xfffffeb8
jmp 0x49a992
movzx ecx, byte [edi + eax]
movzx eax, byte [edi + eax + 1]
shl cx, 8
or cx, ax
movzx eax, cx
mov ecx, edx
mov edx, dword [esp + 0x20]
sub ecx, edx
mov dword [esp + 0x24], eax
movzx eax, ax
cmp eax, ecx
je 0x49a28c
mov edi, 0xfffffeb8
jmp 0x49a992
lea eax, [esp + 0x18]
add edx, edi
push eax
push 1
push dword [esp + 0x2c]
mov ecx, esi
call fcn.004733e0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x49a2b3
js 0x49a921
xor eax, eax
jmp 0x49a2d7
cmp dword [esp + 0x18], 0
je 0x49a2d2
movzx eax, word [esi + 0x2e0]
push eax
call fcn.00492090
add esp, 4
test eax, eax
jne 0x49a375
mov eax, 1
test eax, eax
je 0x49a375
mov edx, dword [ebp + 0xc]
mov cl, byte [esp + 0xa]
mov edi, dword [esp + 0x10]
mov eax, 0x800
test word [esi + 0x420], ax
jne 0x49a302
mov edi, 0xfffffeba
jmp 0x49a929
test byte [esi + 0x422], 4
jne 0x49a363
cmp cl, byte [esi + 0x42f]
jb 0x49a36b
mov al, byte [esi + 0x2e1]
push edx
mov edx, dword [esp + 0x10]
mov byte [esi + 0x2e1], cl
mov ecx, esi
mov byte [esp + 0xe], al
lea edx, [edi + edx]
call fcn.00489fa0
mov cl, byte [esp + 0xe]
mov edi, eax
add esp, 4
mov byte [esi + 0x2e1], cl
test edi, edi
jne 0x49a921
mov edi, dword [ebp + 0xc]
mov ecx, esi
mov edx, dword [esp + 0xc]
push edi
push dword [ebp + 8]
call fcn.0047daa0
add esp, 8
jmp 0x49a91f
cmp cl, byte [esi + 0x42f]
jbe 0x49a313
mov edi, 0xfffffeba
jmp 0x49a929
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xc]
mov eax, dword [esi + 8]
movups xmm0, xmmword [ecx + edx]
movups xmmword [eax + 0xc5a], xmm0
movups xmm0, xmmword [ecx + edx + 0x10]
movups xmmword [eax + 0xc6a], xmm0
mov al, byte [ecx + edx + 0x20]
add ecx, 0x21
mov byte [esp + 0xa], al
mov dword [esp + 0x18], ecx
cmp al, 0x20
je 0x49a3b8
test al, al
je 0x49a3b8
mov edi, 0xfffffe57
jmp 0x49a992
mov edi, dword [ebp + 0xc]
movzx eax, al
mov dword [esp + 0x28], eax
add eax, ecx
cmp eax, edi
jbe 0x49a3d2
mov edi, 0xfffffeb8
jmp 0x49a992
mov eax, dword [esi + 0x298]
mov dl, byte [esp + 0xa]
cmp dl, 0x20
mov byte [eax + 0x78], dl
mov edx, dword [esp + 0xc]
jne 0x49a407
push dword [esp + 0x28]
lea eax, [ecx + edx]
push eax
mov eax, dword [esi + 0x298]
add eax, 0x58
push eax
call fcn.0041d1d0
add esp, 0xc
add dword [esp + 0x18], 0x20
mov ecx, 0x160
call fcn.00472af0
mov dword [esp + 0x34], eax
test eax, eax
jne 0x49a421
lea edi, [eax - 0x7d]
jmp 0x49a992
mov ecx, dword [esp + 0x18]
mov eax, ecx
sub eax, dword [esp + 0x10]
add eax, 2
cmp eax, edi
jbe 0x49a43c
mov edi, 0xfffffeb8
jmp 0x49a992
mov eax, dword [esp + 0xc]
movzx edx, byte [ecx + eax]
movzx eax, byte [ecx + eax + 1]
shl dx, 8
or dx, ax
mov eax, dword [esp + 0x34]
mov word [esp + 0xa], dx
mov word [eax], dx
lea eax, [ecx + 2]
mov cx, dx
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x10]
movzx eax, cx
test al, 1
je 0x49a47b
mov edi, 0xfffffe57
jmp 0x49a992
sub eax, edx
mov edx, dword [esp + 0x38]
inc eax
add eax, edx
cmp eax, edi
jbe 0x49a492
mov edi, 0xfffffeb8
jmp 0x49a992
mov eax, 0x12c
cmp cx, ax
jbe 0x49a4a6
mov edi, 0xfffffeb8
jmp 0x49a992
mov edi, dword [esp + 0x34]
movzx eax, cx
push eax
mov eax, dword [esp + 0x10]
add eax, edx
push eax
lea eax, [edi + 4]
push eax
call fcn.0041d1d0
movzx eax, word [edi]
xor ecx, ecx
add eax, dword [esp + 0x44]
add esp, 0xc
mov word [edi + 2], cx
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov dl, byte [ecx + eax]
mov byte [esp + 0xa], dl
lea edx, [eax + 1]
movzx eax, byte [esp + 0xa]
sub eax, edi
mov dword [esp + 0x18], edx
add eax, edx
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0xc]
cmp eax, edx
jbe 0x49a502
mov edi, 0xfffffeb8
jmp 0x49a992
cmp byte [esp + 0xa], 1
je 0x49a513
mov edi, 0xfffffe57
jmp 0x49a992
mov eax, dword [esp + 0x18]
mov al, byte [ecx + eax]
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x38], ecx
test al, al
je 0x49a531
mov edi, 0xfffffe57
jmp 0x49a992
mov eax, ecx
sub eax, edi
cmp eax, edx
jne 0x49a543
mov edi, 0xfffffeb8
jmp 0x49a992
mov eax, ecx
sub eax, edi
add eax, 2
cmp eax, edx
jbe 0x49a558
mov edi, 0xfffffeb8
jmp 0x49a992
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
movzx ecx, byte [eax + ecx + 1]
movzx eax, byte [eax + edx + 1]
shl ax, 8
or cx, ax
movzx edx, cx
mov ecx, dword [esp + 0x18]
movzx eax, dx
add ecx, 3
mov dword [esp + 0x24], eax
sub eax, edi
add eax, ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], ecx
cmp eax, dword [ebp + 0xc]
jbe 0x49a59d
mov edi, 0xfffffeb8
jmp 0x49a992
lea eax, [esi + 0x1358]
test eax, eax
jne 0x49a5b1
mov edi, 0xffffff53
jmp 0x49a921
push ecx
push esi
mov edx, 0xd
mov ecx, eax
call fcn.00479f90
mov edi, eax
add esp, 8
test edi, edi
jne 0x49a921
push dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
push 1
push dword [esp + 0x30]
lea edx, [edx + ecx]
mov ecx, esi
call fcn.00472b50
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x49a921
mov ecx, esi
call fcn.0047bfa0
mov edi, eax
test edi, edi
jne 0x49a921
mov eax, dword [esp + 0x18]
mov ecx, 0xff9b
add eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov edi, dword [ebp + 0xc]
add edx, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov ax, word [esi + 0x420]
and ax, cx
mov ecx, 0x4002
or ax, cx
mov ecx, esi
mov word [esi + 0x420], ax
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x38]
push edi
call fcn.0049aaf0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x49a921
cmp dword [esp + 0x40], eax
jne 0x49a72d
mov eax, 0xfff7
and word [esi + 0x424], ax
mov eax, dword [esi + 0x1358]
mov ecx, eax
test ecx, ecx
je 0x49a68c
nop dword [eax + eax]
cmp dword [ecx], 0x33
je 0x49a6f0
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x49a680
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x49a712
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483600
add esp, 4
test eax, eax
je 0x49a712
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x49a6ce
cmp eax, 2
je 0x49a723
mov dword [esi + 0x2b0], 0x6d
mov edi, 0xfffffeca
mov dword [esi + 0x2b4], 2
jmp 0x49a992
cmp dword [eax], 0xd
je 0x49a72d
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x49a6f0
push 0x6d
lea edx, [eax + 2]
mov ecx, esi
call fcn.004928a0
mov edi, 0xfffffeca
jmp 0x49a98f
push 0x6d
mov edx, 2
mov ecx, esi
call fcn.00483600
add esp, 4
mov edi, 0xfffffeca
jmp 0x49a992
mov ecx, esi
call fcn.004797c0
mov edi, eax
test edi, edi
jne 0x49a921
mov eax, dword [esp + 0x40]
mov byte [esi + 0x432], 1
test eax, eax
jne 0x49a7db
mov edx, dword [esp + 0x34]
mov ecx, esi
call fcn.0047e500
mov edi, eax
test edi, edi
jns 0x49a818
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x49a7c5
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483600
add esp, 4
test eax, eax
je 0x49a7c5
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x49a7ac
cmp eax, 2
je 0x49a921
mov dword [esi + 0x2b0], 0x28
mov dword [esi + 0x2b4], 2
jmp 0x49a921
push 0x28
mov edx, 2
mov ecx, esi
call fcn.00483600
add esp, 4
jmp 0x49a921
cmp eax, 2
jne 0x49a818
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov ecx, esi
call fcn.00475770
cmp dword [esp + 0x18], 0
mov edi, eax
je 0x49a810
mov byte [esi + 0x42b], 2
cmp edi, 0xffffff94
je 0x49a921
xor edi, edi
jmp 0x49a818
test edi, edi
jne 0x49a921
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov byte [esi + 0x432], 4
mov dword [ecx], eax
mov ecx, edx
mov ax, word [esi + 0x426]
neg ecx
mov dword [esp + 0x28], 0xff7f
sbb ecx, ecx
mov byte [esi + 0x42c], 0xc
and ax, word [esp + 0x28]
and ecx, 0x80
or cx, ax
mov word [esi + 0x426], cx
test edx, edx
jne 0x49a921
cmp byte [esi + 0x429], 0x13
je 0x49a8e3
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x49a8cb
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483600
add esp, 4
test eax, eax
je 0x49a8cb
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x49a8b0
cmp eax, 2
je 0x49a8dc
mov dword [esi + 0x2b0], 0x28
mov edi, 0xfffffeba
mov dword [esi + 0x2b4], 2
jmp 0x49a929
push 0x28
mov edx, 2
mov ecx, esi
call fcn.00483600
add esp, 4
mov edi, 0xfffffeba
jmp 0x49a929
movzx eax, word [esi + 0x420]
test eax, 0x1000
je 0x49a918
and eax, 0xefff
mov word [esi + 0x420], ax
movzx eax, byte [esi + 0x2f1]
push eax
mov eax, dword [esi + 8]
add eax, 0xc1a
push 0
push eax
call fcn.0041d750
add esp, 0xc
mov ecx, esi
call fcn.0049ce20
mov edi, eax
cmp edi, 0xfffffeba
jne 0x49a992
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x49a981
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483600
add esp, 4
test eax, eax
je 0x49a981
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x49a96b
cmp eax, 2
je 0x49a992
mov dword [esi + 0x2b0], 0x46
mov dword [esi + 0x2b4], 2
jmp 0x49a992
push 0x46
mov edx, 2
mov ecx, esi
call fcn.00483600
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49a9be
mov ecx, dword [0x420ede8]
test ecx, ecx
je 0x49a9b2
push eax
call ecx
add esp, 4
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [esp + 0x34]
call fcn.0042a55b
add esp, 4
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret