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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4e4144
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x53f270]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, 0x54b480
mov dword [esp + 0x18], ebx
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x14], ebx
mov byte [esp + 0x70], 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov byte [esp + 0x70], 2
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov byte [esp + 0x70], 3
cmp byte [ebp + 0xc], cl
jne 0x4df385
mov eax, dword [edi]
cmp eax, 0xfffffffe
je 0x4df36d
cmp eax, 0xffffffff
je 0x4df359
cmp eax, ecx
mov eax, dword [ebp + 8]
je 0x4df354
add eax, 0x20
call fcn.004dc037
lea edi, [eax + 0x18]
lea esi, [esp + 0x4c]
call fcn.004e11b8
mov edi, dword [ebp + 8]
add edi, 0x20
call fcn.004dc0b5
jmp 0x4df385
mov eax, dword [eax + 0x78]
jmp 0x4df373
mov eax, dword [ebp + 8]
push dword [eax + 0x74]
push dword [eax + 0x78]
lea eax, [esp + 0x54]
call fcn.004e126e
jmp 0x4df37f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3c]
push 0
push eax
lea esi, [esp + 0x54]
call fcn.004e13b8
mov dword [edi], 1
mov edi, dword [ebp + 8]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x44]
push eax
mov eax, edi
call fcn.004de006
mov esi, dword [esp + 0x20]
mov eax, dword [edi + 0x30]
mov dword [esp + 0x24], eax
test esi, esi
jbe 0x4df3c0
push 1
push 8
mov ecx, edi
call fcn.004de047
dec esi
jne 0x4df3b2
mov esi, dword [edi + 0x30]
push 1
push 7
mov ecx, edi
call fcn.004de047
push dword [ebp + 0xc]
mov ecx, edi
push 5
call fcn.004de047
push dword [ebp + 0xc]
mov eax, dword [edi + 0x30]
push 7
mov ecx, edi
mov dword [esp + 0x44], eax
mov dword [edi + 0x30], esi
call fcn.004de047
cmp byte [ebp + 0xc], 0
mov eax, dword [esp + 0x24]
mov dword [edi + 0x30], eax
jne 0x4df863
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.004ddb9d
mov byte [esp + 0x70], 4
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, 8
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004dba48
mov byte [esp + 0x70], 3
cmp dword [esp + 0x1c], ebx
je 0x4df438
push dword [esp + 0x1c]
call fcn.004419a2
pop ecx
mov esi, 0x5077cc
mov ecx, esi
lea eax, [esp + 0x14]
call fcn.004dd76c
neg al
sbb al, al
inc al
mov byte [esp + 0x38], al
lea eax, [edi + 0x20]
mov dword [esp + 0x28], eax
call fcn.004dbc16
mov edx, dword [esp + 0x4c]
xor ecx, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ecx
cmp edx, ecx
jbe 0x4df7b2
mov edx, dword [esp + 0x54]
cmp byte [edx + ecx], 0
jne 0x4df790
mov edx, dword [esp + 0x50]
mov edi, dword [edx + ecx*4]
xor ebx, ebx
cmp edi, ebx
je 0x4df790
cmp eax, 0x2f
jg 0x4df69b
je 0x4df685
cmp eax, 0x2b
jg 0x4df5ee
je 0x4df553
sub eax, ebx
je 0x4df65c
dec eax
je 0x4df553
sub eax, 0x28
je 0x4df522
dec eax
jne case.0x4df6a7.49
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x4df4f1
mov eax, dword [ebp + 8]
cmp edi, dword [eax + 0x78]
je 0x4df4f1
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
call fcn.004dd79e
mov edi, dword [edi + 0x10]
cmp edi, ebx
je 0x4df790
mov eax, dword [ebp + 8]
cmp edi, dword [eax + 0x78]
je 0x4df790
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
call fcn.004dd79e
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x4df4fc
jmp 0x4df790
mov edi, dword [edi + 0x10]
cmp edi, ebx
je 0x4df790
mov eax, dword [ebp + 8]
cmp edi, dword [eax + 0x78]
je 0x4df790
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
call fcn.004dd79e
mov edi, dword [edi + 0x10]
test edi, edi
jne 0x4df52d
jmp 0x4df790
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x4df577
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
mov ecx, dword [eax + 0x4c]
add eax, 0x2c
cmp ecx, eax
je 0x4df790
mov edi, ecx
jmp 0x4df579
xor edi, edi
cmp edi, ebx
je 0x4df790
jmp 0x4df588
mov esi, 0x5077cc
mov ecx, esi
lea eax, [esp + 0x14]
call fcn.004dd76c
test al, al
jne 0x4df5d0
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 0x14]
add ecx, 8
add eax, 8
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4df5c2
test dl, dl
je 0x4df5be
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4df5c2
inc eax
inc eax
inc ecx
inc ecx
test dl, dl
jne 0x4df5a4
xor eax, eax
jmp 0x4df5c7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
sete al
test al, al
je 0x4df5dc
push 1
push edi
lea esi, [esp + 0x48]
call fcn.004e13b8
mov eax, edi
call fcn.004dafc5
mov edi, eax
cmp edi, ebx
jne 0x4df583
jmp 0x4df790
sub eax, 0x2c
je 0x4df65c
dec eax
je 0x4df638
dec eax
jne case.0x4df6a7.49
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x4df790
mov eax, dword [ebp + 8]
cmp edi, dword [eax + 0x78]
je 0x4df622
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
call fcn.004dd79e
mov ecx, esi
lea eax, [esp + 0x14]
call fcn.004dd76c
lea ecx, [esp + 0x40]
test al, al
je 0x4df649
push ebx
jmp 0x4df651
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x4df790
jmp 0x4df622
mov eax, dword [esp + 0x14]
add eax, 8
push eax
push edi
call fcn.004e1325
jmp 0x4df790
mov eax, edi
call fcn.004da701
jmp 0x4df67a
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
call fcn.004dd79e
mov eax, edi
call fcn.004da75a
mov edi, eax
cmp edi, ebx
jne 0x4df665
jmp 0x4df790
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x44]
push eax
mov eax, edi
call fcn.004e143f
jmp 0x4df790
add eax, 0xffffffd0
cmp eax, 9
ja case.0x4df6a7.49
jmp dword [eax*4 + 0x4df8c7]
mov edi, dword [edi + 0x10]
cmp edi, ebx
je 0x4df790
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
call fcn.004dd79e
jmp 0x4df790
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
call fcn.004dd79e
mov eax, edi
call fcn.004da75a
mov edi, eax
cmp edi, ebx
jne 0x4df6cc
jmp 0x4df790
cmp dword [edi + 0x14], 1
jne case.0x4df6a7.52
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x18]
call fcn.004dd79e
mov edi, dword [edi + 0x24]
cmp edi, ebx
jne 0x4df6ec
jmp 0x4df790
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x4df790
mov eax, dword [ebp + 8]
cmp edi, dword [eax + 0x78]
je 0x4df790
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
jmp 0x4df6b3
push edi
lea eax, [esp + 0x44]
push eax
lea ebx, [esp + 0x1c]
call fcn.004e14a2
jmp 0x4df790
mov edi, dword [edi + 0x18]
jmp 0x4df754
cmp dword [edi + 0x14], 2
jne 0x4df751
push ebx
push edi
lea esi, [esp + 0x48]
call fcn.004e13b8
mov edi, dword [edi + 0x28]
cmp edi, ebx
jne 0x4df740
jmp 0x4df790
mov edi, dword [edi + 0x18]
jmp 0x4df773
cmp dword [edi + 0x14], 4
jne 0x4df770
push ebx
push edi
lea esi, [esp + 0x48]
call fcn.004e13b8
mov edi, dword [edi + 0x28]
cmp edi, ebx
jne 0x4df75f
jmp 0x4df790
mov edi, dword [edi + 0x18]
jmp 0x4df78c
push ebx
push edi
lea esi, [esp + 0x48]
call fcn.004e13b8
mov edi, dword [edi + 0x28]
cmp edi, ebx
jne 0x4df77e
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x2c]
jae 0x4df7ad
mov eax, dword [esp + 0x30]
mov esi, 0x5077cc
jmp 0x4df478
mov edi, dword [ebp + 8]
xor ecx, ecx
cmp dword [esp + 0x20], ecx
je 0x4df84e
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov byte [esp + 0x70], 5
xor ebx, ebx
cmp dword [esp + 0x40], ecx
jbe 0x4df81c
mov eax, dword [esp + 0x48]
cmp byte [eax + ebx], 0
jne 0x4df815
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov esi, eax
test esi, esi
je 0x4df815
mov eax, dword [esp + 0x24]
push dword [esp + 0x38]
mov dword [edi + 0x30], eax
mov eax, esi
mov ecx, edi
call fcn.004df8ef
test al, al
je 0x4df815
push 0
push esi
lea esi, [esp + 0x60]
call fcn.004e13b8
inc ebx
cmp ebx, dword [esp + 0x40]
jb 0x4df7d5
mov ebx, dword [esp + 0x28]
lea edi, [esp + 0x58]
call fcn.004dbe71
mov byte [esp + 0x70], 3
mov esi, edi
call fcn.0046c5ff
jmp 0x4df85b
push 0x536dac
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x3c], 0xfffffffe
call fcn.00445f78
mov ebx, dword [esp + 0x28]
lea edi, [esp + 0x40]
call fcn.004dbe71
mov edi, dword [ebp + 8]
mov ebx, 0x54b480
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x30], eax
mov byte [esp + 0x70], 2
lea esi, [esp + 0x40]
call fcn.0046c5ff
mov byte [esp + 0x70], 1
lea esi, [esp + 0x4c]
call fcn.0046c5ff
mov byte [esp + 0x70], 0
cmp dword [esp + 0x14], ebx
je 0x4df89b
push dword [esp + 0x14]
call fcn.004419a2
pop ecx
or dword [esp + 0x70], 0xffffffff
cmp dword [esp + 0x18], ebx
je 0x4df8b0
push dword [esp + 0x18]
call fcn.004419a2
pop ecx
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8