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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x58ec74]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
mov ecx, dword [esi]
xor edi, edi
cmp ecx, dword [esi + 4]
jae 0x4da9b1
mov al, byte [ecx]
movzx edi, al
test al, al
jle 0x4da9b1
lea eax, [ecx + 1]
mov dword [esi], eax
jmp 0x4da9c7
push edi
mov ecx, esi
call fcn.0048ebf0
mov edi, eax
lea ecx, [edi - 1]
cmp ecx, 0x7f
jae case.default.0x4da9d6
mov ecx, edi
shr ecx, 3
dec ecx
cmp ecx, 9
ja case.default.0x4da9d6
jmp dword [ecx*4 + 0x4daf24]
cmp edi, 0xa
jne case.default.0x4da9d6
or dword [ebx + 8], 1
mov eax, dword [ebx + 0x90]
cmp eax, 0x5a8528
jne 0x4daa0d
push 0x5a8528
lea ecx, [ebx + 0x90]
call fcn.00458350
mov eax, dword [ebx + 0x90]
push eax
push esi
call fcn.004b2bf0
add esp, 8
jmp 0x4daeef
cmp edi, 0x12
jne case.default.0x4da9d6
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4daef7
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x4daa57
mov eax, dword [ebx + 0x14]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4daa52
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x14], eax
mov eax, ecx
jmp 0x4daa88
cmp edx, dword [ebx + 0x18]
jne 0x4daa69
mov eax, dword [ebx + 0x18]
lea ecx, [ebx + 0x10]
inc eax
push eax
call fcn.004b2b60
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x10]
push 0
call fcn.004aad40
mov edx, dword [ebx + 0x14]
add esp, 8
mov ecx, dword [ebx + 0x1c]
mov dword [ecx + edx*4 + 4], eax
inc dword [ebx + 0x14]
push eax
push esi
call fcn.004cea80
add esp, 8
test al, al
je 0x4daef7
inc dword [esi + 0x2c]
jmp 0x4da998
cmp edi, 0x1a
jne case.default.0x4da9d6
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4daef7
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
je 0x4daadb
mov eax, dword [ebx + 0x34]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4daad6
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x34], eax
jmp 0x4dab0e
cmp edx, dword [ebx + 0x38]
jne 0x4daaed
mov eax, dword [ebx + 0x38]
lea ecx, [ebx + 0x30]
inc eax
push eax
call fcn.004b2b60
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x30]
push 0
call fcn.004aaca0
mov edx, dword [ebx + 0x34]
mov ecx, eax
mov eax, dword [ebx + 0x3c]
add esp, 8
mov dword [eax + edx*4 + 4], ecx
inc dword [ebx + 0x34]
mov dword [ebp - 8], ecx
mov ecx, esi
call fcn.0048e6b0
mov ecx, dword [ebp - 8]
mov edi, eax
push esi
call fcn.004da980
test al, al
je 0x4daef7
push edi
mov ecx, esi
call fcn.0048e1c0
test al, al
je 0x4daef7
inc dword [esi + 0x2c]
jmp 0x4da998
cmp edi, 0x22
jne case.default.0x4da9d6
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4daef7
mov ecx, dword [ebx + 0x4c]
test ecx, ecx
je 0x4dab7e
mov eax, dword [ebx + 0x44]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4dab79
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x44], eax
mov eax, ecx
jmp 0x4dabaf
cmp edx, dword [ebx + 0x48]
jne 0x4dab90
mov eax, dword [ebx + 0x48]
lea ecx, [ebx + 0x40]
inc eax
push eax
call fcn.004b2b60
mov ecx, dword [ebx + 0x4c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x40]
push 0
call fcn.004aad00
mov edx, dword [ebx + 0x44]
add esp, 8
mov ecx, dword [ebx + 0x4c]
mov dword [ecx + edx*4 + 4], eax
inc dword [ebx + 0x44]
push eax
push esi
call fcn.004cea50
add esp, 8
test al, al
je 0x4daef7
inc dword [esi + 0x2c]
jmp 0x4da998
cmp edi, 0x2a
jne case.default.0x4da9d6
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4daef7
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
je 0x4dac02
mov eax, dword [ebx + 0x54]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4dabfd
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x54], eax
jmp 0x4dac35
cmp edx, dword [ebx + 0x58]
jne 0x4dac14
mov eax, dword [ebx + 0x58]
lea ecx, [ebx + 0x50]
inc eax
push eax
call fcn.004b2b60
mov ecx, dword [ebx + 0x5c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x50]
push 0
call fcn.004aacc0
mov edx, dword [ebx + 0x54]
mov ecx, eax
mov eax, dword [ebx + 0x5c]
add esp, 8
mov dword [eax + edx*4 + 4], ecx
inc dword [ebx + 0x54]
mov dword [ebp - 8], ecx
mov ecx, esi
call fcn.0048e6b0
mov ecx, dword [ebp - 8]
mov edi, eax
push esi
call fcn.004daf50
jmp 0x4dab23
cmp edi, 0x32
jne case.default.0x4da9d6
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4daef7
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x4dac8d
mov eax, dword [ebx + 0x24]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4dac88
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x24], eax
mov eax, ecx
jmp 0x4daa88
cmp edx, dword [ebx + 0x28]
jne 0x4dac9f
mov eax, dword [ebx + 0x28]
lea ecx, [ebx + 0x20]
inc eax
push eax
call fcn.004b2b60
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x20]
push 0
call fcn.004aad40
mov edx, dword [ebx + 0x24]
add esp, 8
mov ecx, dword [ebx + 0x2c]
mov dword [ecx + edx*4 + 4], eax
inc dword [ebx + 0x24]
jmp 0x4daa88
cmp edi, 0x3a
jne case.default.0x4da9d6
mov ecx, ebx
call fcn.004e1b00
mov edi, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x4dacec
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x4dacec
inc eax
mov dword [esi], eax
jmp 0x4dacfd
mov ecx, esi
call fcn.0048f360
mov ecx, eax
test ecx, ecx
js 0x4daef7
push ecx
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
call fcn.0048e270
cmp dword [ebp - 0xc], 0
jl 0x4daef7
push esi
mov ecx, edi
call fcn.004dcd10
test al, al
je 0x4daef7
push dword [ebp - 0x10]
mov ecx, esi
call fcn.0048e210
jmp 0x4daeef
cmp edi, 0x42
jne case.default.0x4da9d6
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4daef7
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x4dad6b
mov eax, dword [ebx + 0x64]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4dad66
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x64], eax
jmp 0x4dad9e
cmp edx, dword [ebx + 0x68]
jne 0x4dad7d
mov eax, dword [ebx + 0x68]
lea ecx, [ebx + 0x60]
inc eax
push eax
call fcn.004b2b60
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x60]
push 0
call fcn.004aad80
mov edx, dword [ebx + 0x64]
mov ecx, eax
mov eax, dword [ebx + 0x6c]
add esp, 8
mov dword [eax + edx*4 + 4], ecx
inc dword [ebx + 0x64]
mov dword [ebp - 8], ecx
mov ecx, esi
call fcn.0048e6b0
mov ecx, dword [ebp - 8]
mov edi, eax
push esi
call fcn.004dd360
test al, al
je 0x4daef7
push edi
mov ecx, esi
call fcn.0048e1c0
jmp 0x4daa92
cmp edi, 0x4a
jne case.default.0x4da9d6
mov ecx, dword [esi + 0x2c]
lea eax, [ecx - 1]
mov dword [esi + 0x2c], eax
test ecx, ecx
jle 0x4daef7
mov ecx, dword [ebx + 0x7c]
test ecx, ecx
je 0x4dae01
mov eax, dword [ebx + 0x74]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4dadfc
mov ecx, dword [ecx + eax*4 + 4]
inc eax
mov dword [ebx + 0x74], eax
jmp 0x4dae34
cmp edx, dword [ebx + 0x78]
jne 0x4dae13
mov eax, dword [ebx + 0x78]
lea ecx, [ebx + 0x70]
inc eax
push eax
call fcn.004b2b60
mov ecx, dword [ebx + 0x7c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [ebx + 0x70]
push 0
call fcn.004aace0
mov edx, dword [ebx + 0x74]
mov ecx, eax
mov eax, dword [ebx + 0x7c]
add esp, 8
mov dword [eax + edx*4 + 4], ecx
inc dword [ebx + 0x74]
mov dword [ebp - 8], ecx
mov ecx, esi
call fcn.0048e6b0
mov ecx, dword [ebp - 8]
mov edi, eax
push esi
call fcn.004daf50
jmp 0x4dadb3
cmp edi, 0x52
jne case.default.0x4da9d6
mov ecx, dword [ebx + 0x8c]
lea edi, [ebx + 0x80]
test ecx, ecx
je 0x4dae83
mov edx, dword [edi + 4]
mov eax, dword [ecx]
cmp edx, eax
jge 0x4dae7e
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 8], eax
lea eax, [edx + 1]
mov dword [edi + 4], eax
mov eax, dword [ebp - 8]
jmp 0x4daeb0
cmp eax, dword [edi + 8]
jne 0x4dae94
mov eax, dword [edi + 8]
mov ecx, edi
inc eax
push eax
call fcn.004b2b60
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
push dword [edi]
push 0
call fcn.0048b670
mov edx, dword [edi + 4]
add esp, 8
mov ecx, dword [edi + 0xc]
mov dword [ecx + edx*4 + 4], eax
inc dword [edi + 4]
push eax
push esi
call fcn.004b2bf0
add esp, 8
test al, al
je 0x4daef7
jmp 0x4da998
test edi, edi
je 0x4daf0c
mov eax, edi
and al, 7
cmp al, 4
je 0x4daf0c
test byte [ebx + 4], 1
lea ecx, [ebx + 4]
je 0x4daedf
mov eax, dword [ecx]
and eax, 0xfffffffe
jmp 0x4daee4
call fcn.0045db70
push eax
push edi
push esi
call fcn.004c8640
add esp, 0xc
test al, al
jne 0x4da998
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f8f3c
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f8f3c
mov esp, ebp
pop ebp
ret 4