Function at 0x499dc0
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 0x499e07
mov edi, 0xfffffeb8
jmp 0x49a6b2
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 0x499eae
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x499e93
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483310
add esp, 4
test eax, eax
je 0x499e93
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x499e75
cmp eax, 2
je 0x499ea4
mov dword [esi + 0x2b0], 0x46
mov edi, 0xfffffe57
mov dword [esi + 0x2b4], 2
jmp 0x49a6b2
push 0x46
mov edx, 2
mov ecx, esi
call fcn.00483310
add esp, 4
mov edi, 0xfffffe57
jmp 0x49a6b2
test byte [esi + 0x422], 4
mov cl, byte [esp + 0x31]
mov byte [esp + 0xa], cl
jne 0x499eea
cmp byte [esp + 0x20], 3
ja 0x499edd
cmp byte [esp + 0x18], 4
jae 0x499edd
cmp cl, 3
jae 0x499eea
mov byte [esi + 0x2e1], cl
jmp 0x49a00a
mov cl, 3
mov byte [esi + 0x2e1], cl
jmp 0x49a00a
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 0x499f13
mov edi, 0xfffffeb8
jmp 0x49a6b2
lea ecx, [eax + 2]
mov dword [esp + 0x20], ecx
cmp ecx, edx
jbe 0x499f28
mov edi, 0xfffffeb8
jmp 0x49a6b2
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 0x499f4d
mov edi, 0xfffffeb8
jmp 0x49a6b2
movzx eax, byte [eax + edi]
add eax, ecx
cmp eax, edx
jbe 0x499f61
mov edi, 0xfffffeb8
jmp 0x49a6b2
jae 0x499ff2
lea ecx, [eax + 2]
mov dword [esp + 0x20], ecx
cmp ecx, edx
jbe 0x499f7c
mov edi, 0xfffffeb8
jmp 0x49a6b2
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 0x499fac
mov edi, 0xfffffeb8
jmp 0x49a6b2
lea eax, [esp + 0x18]
add edx, edi
push eax
push 1
push dword [esp + 0x2c]
mov ecx, esi
call fcn.00473110
mov edi, eax
add esp, 0xc
test edi, edi
je 0x499fd3
js 0x49a641
xor eax, eax
jmp 0x499ff7
cmp dword [esp + 0x18], 0
je 0x499ff2
movzx eax, word [esi + 0x2e0]
push eax
call fcn.00491db0
add esp, 4
test eax, eax
jne 0x49a095
mov eax, 1
test eax, eax
je 0x49a095
mov edx, dword [ebp + 0xc]
mov cl, byte [esp + 0xa]
mov edi, dword [esp + 0x10]
mov eax, 0x800
test word [esi + 0x420], ax
jne 0x49a022
mov edi, 0xfffffeba
jmp 0x49a649
test byte [esi + 0x422], 4
jne 0x49a083
cmp cl, byte [esi + 0x42f]
jb 0x49a08b
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.00489cc0
mov cl, byte [esp + 0xe]
mov edi, eax
add esp, 4
mov byte [esi + 0x2e1], cl
test edi, edi
jne 0x49a641
mov edi, dword [ebp + 0xc]
mov ecx, esi
mov edx, dword [esp + 0xc]
push edi
push dword [ebp + 8]
call fcn.0047d7b0
add esp, 8
jmp 0x49a63f
cmp cl, byte [esi + 0x42f]
jbe 0x49a033
mov edi, 0xfffffeba
jmp 0x49a649
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 0x49a0d8
test al, al
je 0x49a0d8
mov edi, 0xfffffe57
jmp 0x49a6b2
mov edi, dword [ebp + 0xc]
movzx eax, al
mov dword [esp + 0x28], eax
add eax, ecx
cmp eax, edi
jbe 0x49a0f2
mov edi, 0xfffffeb8
jmp 0x49a6b2
mov eax, dword [esi + 0x298]
mov dl, byte [esp + 0xa]
cmp dl, 0x20
mov byte [eax + 0x78], dl
mov edx, dword [esp + 0xc]
jne 0x49a127
push dword [esp + 0x28]
lea eax, [ecx + edx]
push eax
mov eax, dword [esi + 0x298]
add eax, 0x58
push eax
call fcn.0041d170
add esp, 0xc
add dword [esp + 0x18], 0x20
mov ecx, 0x160
call fcn.00472840
mov dword [esp + 0x34], eax
test eax, eax
jne 0x49a141
lea edi, [eax - 0x7d]
jmp 0x49a6b2
mov ecx, dword [esp + 0x18]
mov eax, ecx
sub eax, dword [esp + 0x10]
add eax, 2
cmp eax, edi
jbe 0x49a15c
mov edi, 0xfffffeb8
jmp 0x49a6b2
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 0x49a19b
mov edi, 0xfffffe57
jmp 0x49a6b2
sub eax, edx
mov edx, dword [esp + 0x38]
inc eax
add eax, edx
cmp eax, edi
jbe 0x49a1b2
mov edi, 0xfffffeb8
jmp 0x49a6b2
mov eax, 0x12c
cmp cx, ax
jbe 0x49a1c6
mov edi, 0xfffffeb8
jmp 0x49a6b2
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.0041d170
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 0x49a222
mov edi, 0xfffffeb8
jmp 0x49a6b2
cmp byte [esp + 0xa], 1
je 0x49a233
mov edi, 0xfffffe57
jmp 0x49a6b2
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 0x49a251
mov edi, 0xfffffe57
jmp 0x49a6b2
mov eax, ecx
sub eax, edi
cmp eax, edx
jne 0x49a263
mov edi, 0xfffffeb8
jmp 0x49a6b2
mov eax, ecx
sub eax, edi
add eax, 2
cmp eax, edx
jbe 0x49a278
mov edi, 0xfffffeb8
jmp 0x49a6b2
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 0x49a2bd
mov edi, 0xfffffeb8
jmp 0x49a6b2
lea eax, [esi + 0x1358]
test eax, eax
jne 0x49a2d1
mov edi, 0xffffff53
jmp 0x49a641
push ecx
push esi
mov edx, 0xd
mov ecx, eax
call fcn.00479cc0
mov edi, eax
add esp, 8
test edi, edi
jne 0x49a641
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.00472880
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x49a641
mov ecx, esi
call fcn.0047bcb0
mov edi, eax
test edi, edi
jne 0x49a641
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.0049a810
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x49a641
cmp dword [esp + 0x40], eax
jne 0x49a44d
mov eax, 0xfff7
and word [esi + 0x424], ax
mov eax, dword [esi + 0x1358]
mov ecx, eax
test ecx, ecx
je 0x49a3ac
nop dword [eax + eax]
cmp dword [ecx], 0x33
je 0x49a410
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x49a3a0
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x49a432
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483310
add esp, 4
test eax, eax
je 0x49a432
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x49a3ee
cmp eax, 2
je 0x49a443
mov dword [esi + 0x2b0], 0x6d
mov edi, 0xfffffeca
mov dword [esi + 0x2b4], 2
jmp 0x49a6b2
cmp dword [eax], 0xd
je 0x49a44d
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x49a410
push 0x6d
lea edx, [eax + 2]
mov ecx, esi
call fcn.004925c0
mov edi, 0xfffffeca
jmp 0x49a6af
push 0x6d
mov edx, 2
mov ecx, esi
call fcn.00483310
add esp, 4
mov edi, 0xfffffeca
jmp 0x49a6b2
mov ecx, esi
call fcn.004794f0
mov edi, eax
test edi, edi
jne 0x49a641
mov eax, dword [esp + 0x40]
mov byte [esi + 0x432], 1
test eax, eax
jne 0x49a4fb
mov edx, dword [esp + 0x34]
mov ecx, esi
call fcn.0047e210
mov edi, eax
test edi, edi
jns 0x49a538
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x49a4e5
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483310
add esp, 4
test eax, eax
je 0x49a4e5
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x49a4cc
cmp eax, 2
je 0x49a641
mov dword [esi + 0x2b0], 0x28
mov dword [esi + 0x2b4], 2
jmp 0x49a641
push 0x28
mov edx, 2
mov ecx, esi
call fcn.00483310
add esp, 4
jmp 0x49a641
cmp eax, 2
jne 0x49a538
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov ecx, esi
call fcn.004754a0
cmp dword [esp + 0x18], 0
mov edi, eax
je 0x49a530
mov byte [esi + 0x42b], 2
cmp edi, 0xffffff94
je 0x49a641
xor edi, edi
jmp 0x49a538
test edi, edi
jne 0x49a641
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 0x49a641
cmp byte [esi + 0x429], 0x13
je 0x49a603
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x49a5eb
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483310
add esp, 4
test eax, eax
je 0x49a5eb
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x49a5d0
cmp eax, 2
je 0x49a5fc
mov dword [esi + 0x2b0], 0x28
mov edi, 0xfffffeba
mov dword [esi + 0x2b4], 2
jmp 0x49a649
push 0x28
mov edx, 2
mov ecx, esi
call fcn.00483310
add esp, 4
mov edi, 0xfffffeba
jmp 0x49a649
movzx eax, word [esi + 0x420]
test eax, 0x1000
je 0x49a638
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.0041d6f0
add esp, 0xc
mov ecx, esi
call fcn.0049cb40
mov edi, eax
cmp edi, 0xfffffeba
jne 0x49a6b2
mov edx, dword [esi + 0x2b4]
test edx, edx
je 0x49a6a1
mov eax, dword [esi + 0x2b0]
mov ecx, esi
push eax
mov dword [esi + 0x2b0], 0
mov dword [esi + 0x2b4], 0
call fcn.00483310
add esp, 4
test eax, eax
je 0x49a6a1
mov eax, dword [esi + 0x2b4]
test eax, eax
je 0x49a68b
cmp eax, 2
je 0x49a6b2
mov dword [esi + 0x2b0], 0x46
mov dword [esi + 0x2b4], 2
jmp 0x49a6b2
push 0x46
mov edx, 2
mov ecx, esi
call fcn.00483310
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49a6de
mov ecx, dword [0x55587c]
test ecx, ecx
je 0x49a6d2
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.0042a4fb
add esp, 4
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret