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

Disassembly:
sub esp, 0x44
mov eax, dword [esp + 0x54]
push ebx
push ebp
mov ebp, dword [esp + 0x58]
mov ebx, dword [eax]
mov ecx, ebx
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x48], eax
shrd ecx, eax, 8
push esi
mov esi, dword [esp + 0x58]
shr eax, 8
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x48], eax
mov ecx, dword [ebp + 0x48]
cmp esi, dword [ebp]
jb 0x4db74c
mov eax, esi
sub eax, dword [ebp + 4]
cmp eax, dword [ebp + 0x10]
je 0x4dbc68
push ecx
push eax
lea eax, [esp + 0x3c]
mov ecx, ebp
push eax
call fcn.004ddb10
cmp byte [esp + 0x38], 0
mov esi, dword [esp + 0x34]
jne 0x4dbc84
mov al, byte [esi]
mov edi, ebx
and edi, 7
movsx edx, al
or edi, 8
cmp edx, edi
je 0x4db7e5
mov ebx, dword [esp + 0x28]
and ebx, 7
or ebx, 0x10
cmp edx, ebx
je 0x4db7e5
movzx edx, al
cmp edx, 0x80
jae 0x4db77d
inc esi
jmp 0x4db7af
movzx ecx, byte [esi + 1]
add edx, 0xffffff80
mov eax, ecx
shl eax, 7
add edx, eax
cmp ecx, 0x80
jae 0x4db798
add esi, 2
jmp 0x4db7af
push edx
lea eax, [esp + 0x40]
push esi
push eax
call fcn.004de6d0
mov edx, dword [esp + 0x4c]
add esp, 0xc
mov esi, dword [esp + 0x3c]
cmp edx, edi
je 0x4db7ea
cmp edx, ebx
je 0x4db7f5
test esi, esi
je 0x4dbc46
test edx, edx
je 0x4dbc7e
mov eax, edx
and al, 7
cmp al, 4
je 0x4dbc7e
push ebp
push esi
push 0
push edx
call fcn.004de7a0
add esp, 0x10
jmp 0x4dbc59
inc esi
cmp edx, edi
jne 0x4db7f5
mov cl, byte [esp + 0x24]
mov eax, 8
jmp 0x4db800
mov eax, dword [esp + 0x2c]
mov cl, byte [esp + 0x4d]
movzx eax, ax
mov edi, dword [esp + 0x58]
add edi, eax
mov byte [esp + 0x64], cl
movzx eax, cl
mov dword [esp + 0x30], eax
and eax, 7
mov dword [esp + 0x14], edi
cmp eax, 5
ja case.0x4db821.3
jmp dword [eax*4 + 0x4dbc90]
lea eax, [esi + 1]
mov dword [esp + 0x10], eax
movsx eax, byte [esi]
cdq
mov dword [esp + 0x60], edx
mov ebx, eax
test edx, edx
jl 0x4db84b
jg 0x4dbaa2
test ebx, ebx
jae 0x4dbaa2
mov edx, dword [esp + 0x10]
mov al, byte [edx]
inc edx
movsx eax, al
mov dword [esp + 0x10], edx
cdq
mov esi, eax
shld edx, esi, 7
shl esi, 7
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x60]
mov esi, edx
shr esi, 0x19
or eax, esi
mov esi, dword [esp + 0x20]
or esi, 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], esi
jg 0x4dba9e
jl 0x4db899
test eax, eax
jae 0x4dba9e
mov edx, dword [esp + 0x10]
mov al, byte [edx]
inc edx
movsx eax, al
mov dword [esp + 0x10], edx
cdq
shld edx, eax, 0xe
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x60]
mov esi, edx
shl eax, 0xe
shr esi, 0x12
or eax, esi
or dword [esp + 0x1c], 0
mov dword [esp + 0x64], eax
jg 0x4dba8c
jl 0x4db8d7
test eax, eax
jae 0x4dba8c
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x60]
shr esi, 0xb
mov al, byte [edx]
inc edx
movsx eax, al
mov dword [esp + 0x10], edx
cdq
shld edx, eax, 0x15
shl eax, 0x15
or eax, esi
and dword [esp + 0x18], eax
and dword [esp + 0x20], edx
jg 0x4dba88
jl 0x4db911
cmp dword [esp + 0x18], 0
jae 0x4dba88
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x60]
shr esi, 4
mov al, byte [edx]
inc edx
movsx eax, al
mov dword [esp + 0x10], edx
cdq
shld edx, eax, 0x1c
shl eax, 0x1c
or eax, esi
mov esi, dword [esp + 0x64]
and esi, eax
and dword [esp + 0x1c], edx
mov dword [esp + 0x64], esi
jg 0x4dbaef
jl 0x4db94e
test esi, esi
jae 0x4dba88
mov edx, dword [esp + 0x10]
xor edi, edi
mov esi, dword [esp + 0x60]
mov al, byte [edx]
inc edx
mov dword [esp + 0x10], edx
movsx eax, al
cdq
mov edx, ebx
shl eax, 3
shrd edx, esi, 0x1d
or edi, edx
shr esi, 0x1d
mov edx, dword [esp + 0x18]
or eax, esi
and edx, edi
and dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
jg 0x4dba84
jl 0x4db991
test edx, edx
jae 0x4dba84
mov edx, dword [esp + 0x10]
xor edi, edi
mov esi, dword [esp + 0x60]
mov al, byte [edx]
inc edx
mov dword [esp + 0x10], edx
movsx eax, al
cdq
mov edx, ebx
shl eax, 0xa
shrd edx, esi, 0x16
or edi, edx
shr esi, 0x16
mov edx, dword [esp + 0x64]
or eax, esi
and edx, edi
and dword [esp + 0x1c], eax
mov dword [esp + 0x64], edx
jg 0x4dba84
jl 0x4db9d4
test edx, edx
jae 0x4dba84
mov edx, dword [esp + 0x10]
xor edi, edi
mov esi, dword [esp + 0x60]
mov al, byte [edx]
inc edx
mov dword [esp + 0x10], edx
movsx eax, al
cdq
mov edx, ebx
shl eax, 0x11
shrd edx, esi, 0xf
or edi, edx
shr esi, 0xf
mov edx, dword [esp + 0x18]
or eax, esi
and edx, edi
and dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
jg 0x4dba84
jl 0x4dba0f
test edx, edx
jae 0x4dba84
mov edx, dword [esp + 0x10]
xor edi, edi
mov esi, dword [esp + 0x60]
mov al, byte [edx]
inc edx
mov dword [esp + 0x10], edx
movsx eax, al
cdq
mov edx, ebx
shl eax, 0x18
shrd edx, esi, 8
shr esi, 8
or edi, edx
mov edx, dword [esp + 0x64]
or eax, esi
mov esi, dword [esp + 0x1c]
and edx, edi
and esi, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x1c], esi
jg 0x4dba84
jl 0x4dba50
test edx, edx
jae 0x4dba84
mov edx, dword [esp + 0x10]
mov al, byte [edx]
inc edx
mov dword [esp + 0x10], edx
cmp al, 1
je 0x4dba84
test al, al
js 0x4dbc46
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
test al, 1
jne 0x4dba8c
xor dword [esp + 0x64], 0
xor esi, 0x80000000
mov dword [esp + 0x1c], esi
jmp 0x4dba8c
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x18]
and eax, esi
mov esi, dword [esp + 0x20]
and esi, dword [esp + 0x1c]
and ebx, eax
and edx, esi
mov esi, dword [esp + 0x10]
test esi, esi
je 0x4dbc46
mov eax, dword [esp + 0x30]
shr eax, 3
and eax, 7
sub eax, 0
je 0x4dbb10
sub eax, 1
je 0x4dbaf5
sub eax, 1
jne case.0x4db821.5
test cl, 0x40
je 0x4dbae1
mov ecx, ebx
and ebx, 1
shrd ecx, edx, 1
shr edx, 1
neg ebx
adc eax, eax
xor ebx, ecx
neg eax
xor edx, eax
mov dword [edi], ebx
mov ebx, dword [esp + 0x24]
mov dword [edi + 4], edx
jmp 0x4db719
mov edx, dword [esp + 0x60]
jmp 0x4dba90
test cl, 0x40
je 0x4dbb05
mov eax, ebx
and ebx, 1
shr eax, 1
neg ebx
xor ebx, eax
mov dword [edi], ebx
mov ebx, dword [esp + 0x24]
jmp 0x4db719
or ebx, edx
je 0x4dbb21
mov ebx, dword [esp + 0x24]
mov al, 1
mov byte [edi], al
jmp 0x4db719
mov ebx, dword [esp + 0x24]
xor al, al
mov byte [edi], al
jmp 0x4db719
mov eax, dword [esi]
add esi, 4
mov ebx, dword [esp + 0x24]
mov dword [edi], eax
jmp 0x4db719
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add esi, 8
mov ebx, dword [esp + 0x24]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x4db719
and cl, 0x38
cmp cl, 0x18
jne 0x4dbc50
movzx eax, byte [esi]
cmp eax, 0x80
jae 0x4dbb6d
inc esi
jmp 0x4dbb84
push eax
lea eax, [esp + 0x48]
push esi
push eax
call fcn.004de570
mov esi, dword [esp + 0x50]
add esp, 0xc
mov eax, dword [esp + 0x48]
test esi, esi
je 0x4dbc46
push edi
push eax
push esi
mov ecx, ebp
call fcn.00433d10
mov esi, eax
test esi, esi
je 0x4dbc46
test byte [esp + 0x64], 0x40
je case.0x4db821.3
test byte [esp + 0x4e], 4
je case.0x4db821.3
sub esp, 8
mov ecx, edi
cmp dword [edi + 0x14], 0xf
mov edx, esp
jbe 0x4dbbc5
mov ecx, dword [edi]
mov eax, dword [edi + 0x10]
mov dword [edx], ecx
mov dword [edx + 4], eax
call fcn.005b8910
add esp, 8
test al, al
jne case.0x4db821.3
mov edx, dword [esp + 0x68]
movzx ecx, word [edx + 0x16]
mov eax, dword [edx + 0x18]
movzx edi, word [edx + 0x14]
inc edi
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x6c]
sub ecx, dword [edx + 0x10]
add esi, edx
sub ecx, edx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
push eax
push edi
lea eax, [esp + 0x54]
push esi
push eax
call fcn.004daa80
push 0
push edi
lea eax, [esp + 0x5c]
push esi
push eax
call fcn.004daa80
push 0
push str.parsing
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
call fcn.004ecda0
add esp, 0x38
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
push esi
push edi
mov ecx, ebp
call fcn.004de2a0
mov esi, eax
test esi, esi
je 0x4dbc46
mov ebx, dword [esp + 0x24]
jmp 0x4db719
test eax, eax
jle 0x4dbc84
xor eax, eax
cmp dword [ebp + 8], eax
cmove esi, eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
lea eax, [edx - 1]
mov dword [ebp + 0x3c], eax
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret