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

Disassembly:
push 0xffffffffffffffff
push 0x4e1300
mov eax, dword fs:[0]
push eax
sub esp, 0xa4
mov eax, dword [0x50f52c]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x50f52c]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xc8]
push 0x108
mov edi, ecx
push 0xf
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ebp
call fcn.004a4190
mov cl, byte [ebp + 0x30]
push 0x100
mov dword [esp + 0x28], eax
add eax, 8
push 0
push eax
mov byte [esp + 0x37], cl
call fcn.004b32f0
mov esi, dword [ebp + 0xc]
add esp, 0xc
cmp esi, dword [ebp + 0x10]
jbe 0x4a9a03
call fcn.004b32e0
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
cmp dword [ebp + 0xc], eax
jbe 0x4a9a1b
call fcn.004b32e0
mov edx, dword [ebp]
mov dword [esp + 0x3c], edx
test ebx, ebx
je 0x4a9a2c
cmp ebx, dword [esp + 0x3c]
je 0x4a9a31
call fcn.004b32e0
cmp esi, dword [esp + 0x18]
je 0x4a9ad7
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
cmp byte [edi + 0xc], 0
je 0x4a9a5c
mov eax, dword [edi + 4]
mov eax, dword [eax]
movzx edx, bl
mov dl, byte [eax + edx + 0x104]
mov byte [esp + 0x14], dl
jmp 0x4a9a60
mov byte [esp + 0x14], bl
test ecx, ecx
jne 0x4a9acf
call fcn.004b32e0
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4a9a7d
call fcn.004b32e0
mov ecx, dword [esp + 0x1c]
cmp byte [edi + 0xc], 0
mov al, byte [esi]
je 0x4a9a94
mov edx, dword [edi + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
cmp byte [esp + 0x14], al
jne 0x4a9aa5
mov eax, dword [esp + 0x24]
add eax, 8
mov byte [eax + ebx], 1
inc ebx
cmp ebx, 0x100
jb 0x4a9a41
test ecx, ecx
jne 0x4a9ad3
call fcn.004b32e0
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4a9ac3
call fcn.004b32e0
mov ebx, dword [esp + 0x1c]
add esi, 2
jmp 0x4a9a22
mov eax, dword [ecx]
jmp 0x4a9a6f
mov eax, dword [ecx]
jmp 0x4a9ab9
mov esi, dword [ebp + 0x24]
cmp esi, dword [ebp + 0x28]
jbe 0x4a9ae4
call fcn.004b32e0
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], eax
cmp dword [ebp + 0x24], eax
jbe 0x4a9b00
call fcn.004b32e0
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x34], ecx
jmp 0x4a9b10
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x4a9b26
cmp edi, dword [esp + 0x34]
je 0x4a9b2b
call fcn.004b32e0
cmp esi, dword [esp + 0x3c]
je 0x4a9e7c
test edi, edi
jne 0x4a9df6
call fcn.004b32e0
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4a9b4e
call fcn.004b32e0
cmp byte [ebp + 0xc], 0
mov al, byte [esi]
mov ecx, dword [ebp + 4]
je 0x4a9b65
mov ecx, dword [ecx]
movzx edx, al
mov al, byte [edx + ecx + 0x104]
mov byte [esp + 0x14], al
test edi, edi
jne 0x4a9dfd
call fcn.004b32e0
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4a9b82
call fcn.004b32e0
add esi, 2
test edi, edi
jne 0x4a9e04
call fcn.004b32e0
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4a9b9e
call fcn.004b32e0
cmp byte [ebp + 0xc], 0
mov bl, byte [esi]
mov eax, dword [ebp + 4]
je 0x4a9bb5
mov eax, dword [eax]
movzx ecx, bl
mov bl, byte [ecx + eax + 0x104]
test edi, edi
jne 0x4a9e0b
call fcn.004b32e0
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4a9bce
call fcn.004b32e0
mov edx, dword [ebp]
mov al, byte [esp + 0x14]
add esi, 2
test dword [edx + 8], 0x200000
mov dword [esp + 0x20], esi
je 0x4a9e12
lea ecx, [esp + 0x19]
push ecx
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x1c]
mov byte [esp + 0x1c], al
push edx
lea eax, [esp + 0xa0]
push eax
mov byte [esp + 0x25], 0
call fcn.004a4740
lea ecx, [esp + 0x19]
push ecx
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0xcc], 0
mov byte [esp + 0x24], bl
call fcn.004a4740
cmp dword [esp + 0xb0], 0x10
mov edx, dword [esp + 0x9c]
mov byte [esp + 0xc0], 1
jae 0x4a9c52
lea edx, [esp + 0x9c]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xac]
mov ecx, esi
cmp esi, edi
jb 0x4a9c65
mov ecx, edi
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x64]
mov eax, ebp
cmp ebx, 0x10
jae 0x4a9c78
lea eax, [esp + 0x64]
push ecx
push edx
push eax
call fcn.00424d80
add esp, 0xc
test eax, eax
jne 0x4a9c96
cmp esi, edi
jb 0x4a9e38
cmp esi, edi
setne al
test eax, eax
jl 0x4a9e38
mov dword [esp + 0x14], 0
mov cl, byte [esp + 0x14]
lea edx, [esp + 0x19]
push edx
mov edx, dword [esp + 0x30]
mov byte [esp + 0x1c], cl
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [edx + 4]
call fcn.004a4740
cmp dword [esp + 0xb0], 0x10
mov edx, dword [esp + 0x9c]
jae 0x4a9cdf
lea edx, [esp + 0x9c]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0xac]
mov ecx, edi
cmp edi, esi
jb 0x4a9cf2
mov ecx, esi
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x48]
mov eax, ebp
cmp ebx, 0x10
jae 0x4a9d05
lea eax, [esp + 0x48]
push ecx
push edx
push eax
call fcn.00424d80
add esp, 0xc
test eax, eax
jne 0x4a9d1f
cmp edi, esi
jb 0x4a9d72
cmp edi, esi
setne al
test eax, eax
jl 0x4a9d72
mov edx, ebp
cmp ebx, 0x10
jae 0x4a9d2c
lea edx, [esp + 0x48]
mov esi, dword [esp + 0x74]
mov ecx, esi
cmp esi, edi
jb 0x4a9d38
mov ecx, edi
cmp dword [esp + 0x78], 0x10
mov eax, dword [esp + 0x64]
jae 0x4a9d47
lea eax, [esp + 0x64]
push ecx
push edx
push eax
call fcn.00424d80
add esp, 0xc
test eax, eax
jne 0x4a9d61
cmp esi, edi
jb 0x4a9d72
cmp esi, edi
setne al
test eax, eax
jl 0x4a9d72
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
add eax, 8
mov byte [eax + ecx], 1
mov byte [esp + 0xc0], 1
cmp ebx, 0x10
jb 0x4a9d88
push ebp
call fcn.004b29fa
add esp, 4
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, 0x100
jb 0x4a9ca4
mov esi, 0x10
cmp dword [esp + 0x78], esi
jb 0x4a9db4
mov edx, dword [esp + 0x64]
push edx
call fcn.004b29fa
add esp, 4
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], 0
mov byte [esp + 0x64], 0
mov dword [esp + 0xc0], 0xffffffff
cmp dword [esp + 0xb0], esi
jb 0x4a9b10
mov eax, dword [esp + 0x9c]
push eax
call fcn.004b29fa
add esp, 4
jmp 0x4a9b10
mov eax, dword [edi]
jmp 0x4a9b44
mov eax, dword [edi]
jmp 0x4a9b78
mov eax, dword [edi]
jmp 0x4a9b94
mov eax, dword [edi]
jmp 0x4a9bc4
cmp bl, al
jb 0x4a9e75
mov edx, dword [esp + 0x24]
movzx eax, al
movzx ecx, bl
sub ecx, eax
inc ecx
push ecx
lea eax, [eax + edx + 8]
push 1
push eax
call fcn.004b32f0
add esp, 0xc
jmp 0x4a9b1c
cmp ebx, 0x10
jb 0x4a9e46
push ebp
call fcn.004b29fa
add esp, 4
cmp dword [esp + 0xb0], 0x10
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], 0
mov byte [esp + 0x64], 0
jb 0x4a9e75
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.004b29fa
add esp, 4
xor eax, eax
jmp 0x4aa1f8
mov edx, dword [ebp]
mov eax, dword [edx + 8]
mov edi, dword [esp + 0x30]
mov ecx, dword [edi + 0x34]
test eax, 0x100000
je 0x4a9ea9
mov eax, dword [ebp + 0x30]
mov edx, eax
and edx, ecx
cmp edx, eax
je 0x4a9ea6
mov eax, dword [ebp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, eax
jne 0x4a9ea9
or ecx, dword [ebp + 0x38]
test ecx, ecx
je 0x4a9ef4
mov esi, ecx
xor eax, eax
and esi, 0x3ff
mov edx, dword [ebp + 4]
test esi, esi
je 0x4a9ed5
mov edx, dword [edx]
movzx ebx, al
movzx edx, word [edx + ebx*2 + 0x204]
and edx, ecx
test edx, 0x3ff
jne 0x4a9ee1
test ecx, 0x400
je 0x4a9eec
cmp al, 0x5f
jne 0x4a9eec
mov edx, dword [esp + 0x24]
add edx, 8
mov byte [edx + eax], 1
inc eax
cmp eax, 0x100
jb 0x4a9eb7
mov eax, dword [ebp]
test dword [eax + 8], 0x100000
mov ecx, dword [edi + 0x38]
je 0x4a9f1c
mov eax, dword [ebp + 0x30]
mov edx, eax
and edx, ecx
cmp edx, eax
je 0x4a9f19
mov eax, dword [ebp + 0x34]
mov edx, eax
and edx, ecx
cmp edx, eax
jne 0x4a9f1c
or ecx, dword [ebp + 0x38]
test ecx, ecx
je 0x4a9f67
mov esi, ecx
xor eax, eax
and esi, 0x3ff
mov edx, dword [ebp + 4]
test esi, esi
je 0x4a9f48
mov edx, dword [edx]
movzx ebx, al
movzx edx, word [edx + ebx*2 + 0x204]
and edx, ecx
test edx, 0x3ff
jne 0x4a9f5f
test ecx, 0x400
je 0x4a9f54
cmp al, 0x5f
je 0x4a9f5f
mov edx, dword [esp + 0x24]
add edx, 8
mov byte [edx + eax], 1
inc eax
cmp eax, 0x100
jb 0x4a9f2a
mov esi, dword [edi + 0x4c]
cmp esi, dword [edi + 0x50]
jbe 0x4a9f74
call fcn.004b32e0
mov ebp, dword [edi + 0x50]
mov ebx, dword [edi + 0x40]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ebp
cmp dword [edi + 0x4c], ebp
jbe 0x4a9f90
call fcn.004b32e0
mov eax, dword [edi + 0x40]
mov dword [esp + 0x34], eax
test ebx, ebx
je 0x4a9fa1
cmp ebx, dword [esp + 0x34]
je 0x4a9fa6
call fcn.004b32e0
cmp esi, ebp
je 0x4aa1d3
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], 0
mov byte [esp + 0x80], 0
mov dword [esp + 0xc0], 3
test ebx, ebx
jne 0x4aa1a0
call fcn.004b32e0
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4a9ff0
call fcn.004b32e0
test ebx, ebx
jne 0x4aa1a7
call fcn.004b32e0
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x4aa009
call fcn.004b32e0
mov eax, dword [esp + 0x2c]
lea ecx, [esi + 1]
push ecx
mov ecx, dword [eax + 4]
push esi
lea edx, [esp + 0x4c]
push edx
call fcn.004a8300
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x88]
mov byte [esp + 0xcc], 4
call fcn.00402750
mov esi, 0x10
mov byte [esp + 0xc0], 3
cmp dword [esp + 0x5c], esi
jb 0x4aa058
mov ecx, dword [esp + 0x48]
push ecx
call fcn.004b29fa
add esp, 4
cmp dword [esp + 0x90], 0
je 0x4aa1b2
xor ebx, ebx
jmp 0x4aa070
lea edx, [esp + 0x15]
push edx
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [edx + 4]
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], 0
call fcn.004a8300
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
cmp ebp, 0x10
jae 0x4aa0a5
lea edx, [esp + 0x48]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x58]
mov ecx, esi
cmp esi, edi
jb 0x4aa0b8
mov ecx, edi
cmp dword [esp + 0x94], 0x10
mov eax, dword [esp + 0x80]
jae 0x4aa0d0
lea eax, [esp + 0x80]
push ecx
push edx
push eax
call fcn.00424d80
add esp, 0xc
test eax, eax
jne 0x4aa0f7
cmp esi, edi
jb 0x4aa0f7
cmp esi, edi
setne al
test eax, eax
jne 0x4aa0f7
mov eax, dword [esp + 0x24]
add eax, 8
mov byte [eax + ebx], 1
mov byte [esp + 0xc0], 3
cmp ebp, 0x10
jb 0x4aa111
mov eax, dword [esp + 0x48]
push eax
call fcn.004b29fa
add esp, 4
xor esi, esi
inc ebx
mov edi, 0xf
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], esi
mov byte [esp + 0x48], 0
cmp ebx, 0x100
jb 0x4aa070
mov eax, dword [esp + 0x1c]
cmp eax, esi
jne 0x4aa1ae
call fcn.004b32e0
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x10]
jb 0x4aa14f
call fcn.004b32e0
add dword [esp + 0x20], 2
cmp dword [esp + 0x94], 0x10
mov dword [esp + 0xc0], 0xffffffff
jb 0x4aa179
mov edx, dword [esp + 0x80]
push edx
call fcn.004b29fa
add esp, 4
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x94], edi
mov byte [esp + 0x80], 0
jmp 0x4a9f97
mov eax, dword [ebx]
jmp 0x4a9fe6
mov eax, dword [ebx]
jmp 0x4a9fff
mov eax, dword [eax]
jmp 0x4aa141
cmp dword [esp + 0x94], esi
jb 0x4a9e75
mov eax, dword [esp + 0x80]
push eax
call fcn.004b29fa
add esp, 4
xor eax, eax
jmp 0x4aa1f8
cmp byte [esp + 0x2b], 0
je 0x4aa1f4
mov eax, dword [esp + 0x24]
add eax, 8
mov ecx, 0x100
cmp byte [eax], 0
sete dl
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0x4aa1e6
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.004b3057
add esp, 0xb0
ret 8