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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x36c
mov eax, dword [0x4dd704]
xor eax, esp
mov dword [esp + 0x368], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
mov eax, dword [ebx + 0x1c]
cmp eax, 0x31787662
ja 0x499843
je 0x499947
cmp eax, edi
je 0x499097
cmp eax, 0x2d787662
jne 0x499162
mov esi, dword [ebx + 0xb8d8]
cmp esi, edi
jne 0x499054
mov dword [ebx + 0x1c], edi
jmp 0x499022
mov eax, dword [ebx + 8]
mov edx, dword [ebx]
cmp eax, edx
jbe 0x4999bc
sub eax, edx
cmp esi, eax
jbe 0x499069
mov esi, eax
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0xc]
cmp eax, ecx
jbe 0x4999a2
sub eax, ecx
cmp esi, eax
jbe 0x49907f
mov esi, eax
push esi
push edx
push ecx
call fcn.0049c200
add dword [ebx], esi
add dword [ebx + 0xc], esi
add esp, 0xc
sub dword [ebx + 0xb8d8], esi
jmp 0x499022
mov esi, dword [ebx]
mov ecx, dword [ebx + 8]
lea eax, [esi + 4]
cmp eax, ecx
ja 0x4999bc
mov edx, dword [esi]
mov dword [esp + 0x38], edx
cmp edx, 0x24787662
je 0x49996f
cmp edx, 0x2d787662
jne 0x4990df
add esi, 8
cmp esi, ecx
ja 0x4999bc
mov eax, dword [eax]
mov dword [ebx + 0xb8d8], eax
add dword [ebx], 8
mov dword [ebx + 0x1c], edx
jmp 0x499022
cmp edx, 0x6e787662
jne 0x499118
add esi, 0xc
cmp esi, ecx
ja 0x4999bc
mov eax, dword [eax]
mov dword [ebx + 0xb8cc], eax
mov eax, dword [ebx]
add eax, 8
mov eax, dword [eax]
mov dword [ebx + 0xb8d0], eax
mov dword [ebx + 0xb8d4], edi
add dword [ebx], 0xc
mov dword [ebx + 0x1c], edx
jmp 0x499022
cmp edx, 0x31787662
je 0x499128
cmp edx, 0x32787662
jne 0x499162
cmp edx, 0x32787662
jne 0x49917c
mov eax, dword [ebx]
lea edx, [eax + 0x20]
cmp edx, ecx
ja 0x4999bc
mov edx, dword [eax + 0x18]
mov esi, dword [eax + 0x1c]
mov dword [esp + 0x10], edx
add edx, eax
mov dword [esp + 0x2c], esi
cmp edx, ecx
ja 0x4999bc
lea esi, [esp + 0x68]
call fcn.004987a0
test eax, eax
je 0x49919f
mov eax, 0xfffffffd
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x368]
xor ecx, esp
call fcn.0049bf8d
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx]
lea eax, [esi + 0x304]
cmp eax, ecx
ja 0x4999bc
mov ecx, 0xc1
lea edi, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x10], 0x304
mov eax, dword [ebx]
mov ecx, dword [esp + 0x80]
add eax, ecx
add eax, dword [esp + 0x7c]
add eax, dword [esp + 0x10]
cmp eax, dword [ebx + 8]
ja 0x4999bc
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
mov edx, esi
shr edx, 0x10
cmp edx, 0x400
sbb eax, eax
and eax, 0xffffffc0
add eax, 0x40
mov ecx, edi
shr ecx, 0x10
cmp ecx, 0x400
sbb edx, edx
xor ecx, ecx
and edx, 0xfffffff0
add edx, 0x10
or eax, edx
cmp dword [esp + 0x68], 0x31787662
mov edx, 0x9c40
setne cl
or eax, ecx
cmp edx, dword [esp + 0x74]
mov edx, 0x2710
sbb ecx, ecx
and ecx, 2
or eax, ecx
cmp edx, dword [esp + 0x78]
mov edx, 0x100
sbb ecx, ecx
and ecx, 4
or eax, ecx
cmp word [esp + 0x98], dx
mov edx, 0x400
sbb ecx, ecx
and ecx, 0xfffffe00
add ecx, 0x200
or eax, ecx
cmp si, dx
sbb ecx, ecx
and ecx, 0xffffffe0
add ecx, 0x20
or eax, ecx
mov edx, 0x40
cmp word [esp + 0x96], dx
sbb ecx, ecx
and ecx, 0xffffff00
add ecx, 0x100
or eax, ecx
cmp word [esp + 0x94], dx
sbb ecx, ecx
and ecx, 0xffffff80
sub ecx, 0xffffff80
or eax, ecx
mov ecx, 0x400
cmp di, cx
sbb ecx, ecx
and ecx, 0xfffffff8
add ecx, 8
or eax, ecx
xor esi, esi
xor ecx, ecx
movzx edi, word [esp + ecx*2 + 0x9a]
inc ecx
add esi, edi
cmp ecx, 0x14
jb 0x499294
mov ecx, edx
cmp ecx, esi
sbb ecx, ecx
and ecx, 0x400
or eax, ecx
xor esi, esi
xor ecx, ecx
jmp 0x4992c0
movzx edi, word [esp + ecx*2 + 0xc2]
inc ecx
add esi, edi
cmp ecx, 0x14
jb 0x4992c0
mov ecx, edx
cmp ecx, esi
sbb ecx, ecx
and ecx, 0x800
or eax, ecx
xor esi, esi
xor ecx, ecx
movzx edi, word [esp + ecx*2 + 0xea]
inc ecx
add esi, edi
cmp ecx, edx
jb 0x4992e2
mov edx, 0x100
cmp edx, esi
sbb ecx, ecx
and ecx, 0x1000
or eax, ecx
xor esi, esi
xor ecx, ecx
jmp 0x499310
movzx edx, word [esp + ecx*2 + 0x16a]
inc ecx
add esi, edx
cmp ecx, 0x100
jb 0x499310
mov ecx, 0x400
cmp ecx, esi
sbb edx, edx
and edx, 0x2000
or eax, edx
je 0x499343
or eax, 0x80000000
test eax, eax
jne 0x499162
mov eax, dword [ebx]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x80]
add eax, ecx
mov dword [ebx], eax
mov eax, dword [esp + 0x78]
lea ecx, [ebx + 0xc4c]
push ecx
mov dword [ebx + 0x24], edx
lea edx, [esp + 0x16e]
push edx
push 0x100
push 0x400
mov dword [ebx + 0x20], eax
call fcn.0049b6e0
lea eax, [ebx + 0x4c]
push eax
push 0x4c2ac8
push 0x4c2aa0
lea ecx, [esp + 0xb6]
push ecx
push 0x14
push 0x40
call fcn.0049b860
lea edx, [ebx + 0x24c]
push edx
push 0x4c2b18
push 0x4c2ab4
lea eax, [esp + 0xf6]
push eax
push 0x14
push 0x40
call fcn.0049b860
add esp, 0x40
lea ecx, [ebx + 0x44c]
push ecx
push 0x4c2ba8
push 0x4c2b68
lea edx, [esp + 0xf6]
push edx
push 0x40
push 0x100
call fcn.0049b860
mov eax, dword [esp + 0x94]
add dword [ebx], eax
mov esi, dword [esp + 0x9c]
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
add esp, 0x18
mov dword [esp + 0x34], ecx
test esi, esi
je 0x499482
add ecx, 4
cmp eax, ecx
jb 0x499162
mov edi, dword [eax - 4]
sub eax, 4
add esi, 0x20
cmp esi, 0x18
mov dword [esp + 0x14], eax
jl 0x499162
cmp esi, 0x20
jge 0x499162
mov edx, edi
mov ecx, esi
shr edx, cl
test edx, edx
jne 0x499162
cmp dword [esp + 0x74], 0
movzx ecx, word [esp + 0x88]
movzx edx, word [esp + 0x8a]
mov dword [esp + 0x24], ecx
movzx ecx, word [esp + 0x8c]
mov dword [esp + 0x20], edx
movzx edx, word [esp + 0x8e]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], 0
jbe 0x49976d
jmp 0x4994c4
add ecx, 3
cmp eax, ecx
jb 0x499162
mov cx, word [eax - 3]
mov dl, byte [eax - 1]
sub eax, 3
mov dword [esp + 0x10], 0
mov word [esp + 0x10], cx
mov byte [esp + 0x12], dl
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], eax
and edi, 0xffffff
mov esi, 0x18
jmp 0x49942f
mov eax, dword [esp + 0x14]
mov ecx, 0x1f
sub ecx, esi
and ecx, 0xfffffff8
jle 0x4994f6
mov edx, ecx
sar edx, 3
sub eax, edx
cmp eax, dword [esp + 0x34]
jb 0x499162
mov edx, dword [ecx*4 + 0x4c2ca8]
shl edi, cl
mov dword [esp + 0x14], eax
mov eax, dword [eax]
and edx, eax
or edi, edx
add esi, ecx
cmp esi, 0x18
jl 0x499500
cmp esi, 0x20
jl 0x499517
push 0x1b9
push str.d:workmyprojects_rliblibsextlibslzfselzfse_fse.h
push str.s__accum_nbits___24__s__accum_nbits___32
call fcn.0049e51f
add esp, 0xc
mov eax, edi
mov ecx, esi
shr eax, cl
test eax, eax
je 0x499538
push 0x1b9
push str.d:workmyprojects_rliblibsextlibslzfselzfse_fse.h
push str._s__accum____s__accum_nbits___0
call fcn.0049e51f
add esp, 0xc
movzx ecx, word [esp + 0x24]
mov edx, dword [ebx + ecx*4 + 0xc4c]
mov eax, edx
and eax, 0xff
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
jl 0x499559
cmp eax, esi
jle 0x499578
push 0x1c8
push str.d:workmyprojects_rliblibsextlibslzfselzfse_fse.h
push str.n___0__n___s__accum_nbits
call fcn.0049e51f
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add esp, 0xc
sub esi, eax
mov eax, edi
and edi, dword [esi*4 + 0x4c2ca8]
mov ecx, esi
shr eax, cl
mov ecx, edx
sar ecx, 0x10
shr edx, 8
add ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0x10]
mov byte [ecx + ebx + 0x1c4c], dl
movzx edx, word [esp + 0x20]
mov edx, dword [ebx + edx*4 + 0xc4c]
mov dword [esp + 0x24], eax
mov eax, edx
and eax, 0xff
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
jl 0x4995c4
cmp eax, esi
jle 0x4995e3
push 0x1c8
push str.d:workmyprojects_rliblibsextlibslzfselzfse_fse.h
push str.n___0__n___s__accum_nbits
call fcn.0049e51f
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
add esp, 0xc
sub esi, eax
mov eax, edi
and edi, dword [esi*4 + 0x4c2ca8]
mov ecx, esi
shr eax, cl
mov ecx, edx
sar ecx, 0x10
shr edx, 8
add ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0x10]
mov byte [ecx + ebx + 0x1c4d], dl
mov ecx, 0x1f
sub ecx, esi
and ecx, 0xfffffff8
mov dword [esp + 0x20], eax
jle 0x499644
mov eax, dword [esp + 0x14]
mov edx, ecx
sar edx, 3
sub eax, edx
cmp eax, dword [esp + 0x34]
jb 0x499162
mov edx, dword [ecx*4 + 0x4c2ca8]
shl edi, cl
mov dword [esp + 0x14], eax
mov eax, dword [eax]
and edx, eax
or edi, edx
add esi, ecx
cmp esi, 0x18
jl 0x49964e
cmp esi, 0x20
jl 0x499665
push 0x1b9
push str.d:workmyprojects_rliblibsextlibslzfselzfse_fse.h
push str.s__accum_nbits___24__s__accum_nbits___32
call fcn.0049e51f
add esp, 0xc
mov eax, edi
mov ecx, esi
shr eax, cl
test eax, eax
je 0x499686
push 0x1b9
push str.d:workmyprojects_rliblibsextlibslzfselzfse_fse.h
push str._s__accum____s__accum_nbits___0
call fcn.0049e51f
add esp, 0xc
movzx ecx, word [esp + 0x18]
mov edx, dword [ebx + ecx*4 + 0xc4c]
mov eax, edx
and eax, 0xff
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], eax
jl 0x4996a7
cmp eax, esi
jle 0x4996c6
push 0x1c8
push str.d:workmyprojects_rliblibsextlibslzfselzfse_fse.h
push str.n___0__n___s__accum_nbits
call fcn.0049e51f
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
add esp, 0xc
sub esi, eax
mov eax, edi
and edi, dword [esi*4 + 0x4c2ca8]
mov ecx, esi
shr eax, cl
mov ecx, edx
sar ecx, 0x10
shr edx, 8
add ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0x10]
mov byte [ecx + ebx + 0x1c4e], dl
movzx edx, word [esp + 0x1c]
mov edx, dword [ebx + edx*4 + 0xc4c]
mov dword [esp + 0x18], eax
mov eax, edx
and eax, 0xff
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], eax
jl 0x499712
cmp eax, esi
jle 0x499731
push 0x1c8
push str.d:workmyprojects_rliblibsextlibslzfselzfse_fse.h
push str.n___0__n___s__accum_nbits
call fcn.0049e51f
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
add esp, 0xc
sub esi, eax
mov eax, edi
and edi, dword [esi*4 + 0x4c2ca8]
mov ecx, esi
shr eax, cl
mov ecx, edx
sar ecx, 0x10
shr edx, 8
add ecx, eax
movzx eax, cx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov byte [eax + ebx + 0x1c4f], dl
add eax, 4
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x74]
jb 0x4994c0
mov edx, dword [esp + 0x80]
lea ecx, [ebx + 0x1c4c]
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx]
lea eax, [ecx + edx]
mov edx, dword [esp + 0x90]
test edx, edx
je 0x499809
add ecx, 4
cmp eax, ecx
jb 0x499162
mov esi, dword [eax - 4]
sub eax, 4
lea ecx, [edx + 0x20]
cmp ecx, 0x18
jl 0x499162
cmp ecx, 0x20
jge 0x499162
mov edx, esi
shr edx, cl
test edx, edx
jne 0x499162
movzx edx, word [esp + 0x94]
mov word [ebx + 0x44], dx
movzx edx, word [esp + 0x96]
mov word [ebx + 0x46], dx
movzx edx, word [esp + 0x98]
mov word [ebx + 0x48], dx
sub eax, dword [ebx]
mov dword [ebx + 0x34], 0xffffffff
mov dword [ebx + 0x40], eax
xor eax, eax
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x3c], ecx
mov dword [ebx + 0x1c], eax
jmp 0x499020
add ecx, 3
cmp eax, ecx
jb 0x499162
mov cx, word [eax - 3]
mov dl, byte [eax - 1]
sub eax, 3
mov dword [esp + 0x10], 0
mov word [esp + 0x10], cx
mov byte [esp + 0x12], dl
mov esi, dword [esp + 0x10]
and esi, 0xffffff
mov ecx, 0x18
jmp 0x4997b3
cmp eax, 0x32787662
je 0x499947
cmp eax, 0x6e787662
jne 0x499162
mov esi, dword [ebx + 0xb8d0]
cmp esi, edi
jbe 0x49986e
mov ecx, dword [ebx + 8]
cmp ecx, dword [ebx]
jbe 0x4999bc
push 0x2c
lea edx, [esp + 0x40]
push edi
push edx
call fcn.0049c630
mov eax, dword [ebx + 8]
mov ecx, dword [ebx]
mov dword [esp + 0x4c], eax
sub eax, ecx
add esp, 0xc
mov dword [esp + 0x3c], ecx
cmp eax, esi
jbe 0x499897
add esi, ecx
mov dword [esp + 0x40], esi
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0xb8cc]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x4c], eax
sub eax, ecx
mov dword [esp + 0x44], ecx
cmp eax, edx
jbe 0x4998be
add edx, ecx
mov dword [esp + 0x4c], edx
mov ecx, dword [ebx + 0xb8d4]
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edi
call fcn.004999e0
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
mov eax, edx
sub eax, dword [ebx]
mov ecx, esi
sub ecx, dword [ebx + 0xc]
add esp, 4
cmp eax, dword [ebx + 0xb8d0]
ja 0x499162
cmp ecx, dword [ebx + 0xb8cc]
ja 0x499162
mov dword [ebx], edx
mov edx, dword [esp + 0x60]
mov dword [ebx + 0xc], esi
sub dword [ebx + 0xb8d0], eax
mov eax, dword [ebx + 0xb8d0]
sub dword [ebx + 0xb8cc], ecx
mov ecx, dword [ebx + 0xb8cc]
mov dword [ebx + 0xb8d4], edx
cmp eax, edi
jne 0x499990
cmp ecx, edi
jne 0x499162
cmp dword [esp + 0x64], edi
je 0x499162
mov dword [ebx + 0x1c], edi
jmp 0x499022
mov eax, dword [ebx + 8]
mov ecx, dword [ebx]
cmp eax, ecx
jbe 0x4999bc
sub eax, ecx
cmp dword [ebx + 0x24], eax
ja 0x4999bc
mov esi, ebx
call fcn.004989a0
cmp eax, edi
jne 0x4999bf
mov dword [ebx + 0x1c], edi
mov eax, dword [ebx + 0x24]
add dword [ebx], eax
jmp 0x499022
add dword [ebx], 4
mov dword [ebx + 0x18], 1
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x368]
xor ecx, esp
call fcn.0049bf8d
mov esp, ebp
pop ebp
ret
cmp ecx, edi
je 0x499162
cmp dword [esp + 0x64], edi
jne 0x499162
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x368]
xor ecx, esp
call fcn.0049bf8d
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
mov ecx, dword [esp + 0x374]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0049bf8d
mov esp, ebp
pop ebp
ret