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

Disassembly:
push ebp
push edi
push esi
xor esi, esi
push ebx
sub esp, 0x48
movzx eax, byte [esp + 0x80]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x74]
mov byte [esp + 0x21], al
mov eax, dword [esp + 0x64]
movzx edi, byte [esp + 0x7c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x18], eax
cmp dword [ecx + 0x14], eax
je 0xfd539a
mov esi, dword [eax]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1c], 0
mov eax, dword [eax + 0x10]
mov dword [esp + 0x34], eax
cmp eax, dword [ecx + 0x14]
je 0xfd53bc
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x38], 0
mov eax, dword [eax + 0x10]
mov dword [esp + 0x44], eax
cmp eax, dword [ecx + 0x14]
je 0xfd53de
mov eax, dword [eax]
mov dword [esp + 0x38], eax
test edx, edx
je 0xfd55f4
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x3c], 0
xor ebp, ebp
mov dword [esp + 0x40], 0
mov eax, dword [eax]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], eax
lea eax, [edx + edx*2]
mov edx, edi
lea eax, [ecx + eax*8]
mov dword [esp + 0x24], 0
mov dword [esp + 0x30], eax
mov dword [esp + 4], 0
nop
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0xfd545d
mov eax, dword [esp + 0x68]
add dword [esp + 0x24], 1
mov edi, dword [esp + 0x24]
mov eax, dword [eax + 4]
movzx eax, byte [eax + edi]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x14]
imul eax, dword [esp + 0x28], 0xb10
add eax, dword [esp + 0x2c]
sub dword [esp + 0x1c], 1
movzx ecx, word [edi + 0x14]
add dword [eax + ecx*4], 1
add dword [eax + 0xb00], 1
mov eax, dword [edi]
mov word [esp + 0x22], cx
test eax, eax
je 0xfd55a2
mov edi, dword [esp + 0x84]
add eax, ebx
mov dword [esp + 8], eax
mov edi, dword [edi]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x88]
mov edi, dword [edi]
mov dword [esp + 0xc], edi
movzx edi, byte [esp + 0x21]
mov byte [esp + 0x21], dl
jmp 0xfd550e
shr dl, 2
movzx edx, dl
add dword [esp], edx
lea esi, [esi]
mov edx, dword [esp + 0x78]
imul eax, dword [esp], 0x410
add eax, dword [esp + 0xc]
movzx edi, byte [esp + 0x21]
and edx, ebx
add edx, dword [esp + 0x70]
add ebx, 1
movzx ecx, byte [edx]
add dword [eax + ecx*4], 1
add dword [eax + 0x400], 1
movzx edx, byte [edx]
cmp ebx, dword [esp + 8]
je 0xfd55aa
mov byte [esp + 0x21], dl
test esi, esi
jne 0xfd552d
mov eax, dword [esp + 0x64]
add dword [esp + 4], 1
mov esi, dword [esp + 4]
mov eax, dword [eax + 4]
movzx ebp, byte [eax + esi]
mov eax, dword [esp + 0x18]
mov esi, dword [eax + esi*4]
mov eax, ebp
sub esi, 1
shl eax, 6
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebp*4]
mov eax, edi
movzx edi, al
movzx eax, dl
cmp ecx, 2
je 0xfd558a
ja 0xfd5562
test ecx, ecx
jne 0xfd54c2
and edx, 0x3f
add dword [esp], edx
jmp 0xfd54d2
cmp ecx, 3
jne 0xfd54d2
movzx edx, byte [eax + 0x69a1ad60]
movzx ecx, byte [edi + 0x69a1ad60]
lea edx, [ecx + edx*8]
movzx edx, dl
add dword [esp], edx
jmp 0xfd54d2
movzx edx, byte [edi + 0x69a1af60]
or dl, byte [eax + 0x69a1ae60]
movzx edx, dl
add dword [esp], edx
jmp 0xfd54d2
mov dword [esp + 8], ebx
lea esi, [esi]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov eax, dword [eax + 4]
add ebx, eax
test eax, eax
je 0xfd55e1
mov edi, dword [esp + 0x70]
lea eax, [ebx - 2]
and eax, dword [esp + 0x78]
movzx eax, byte [edi + eax]
mov byte [esp + 0x21], al
lea eax, [ebx - 1]
and eax, dword [esp + 0x78]
cmp word [esp + 0x22], 0x7f
movzx edx, byte [edi + eax]
ja 0xfd5602
add dword [esp + 0x14], 0x18
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x30], eax
jne 0xfd5432
add esp, 0x48
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x38]
test eax, eax
jne 0xfd562d
mov eax, dword [esp + 0x6c]
add dword [esp + 0x40], 1
mov edi, dword [esp + 0x40]
mov eax, dword [eax + 4]
movzx eax, byte [eax + edi]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x3c]
sub dword [esp + 0x38], 1
shl eax, 2
mov dword [esp], eax
movzx eax, word [esp + 0x22]
mov ecx, eax
and eax, 7
shr cx, 6
mov edi, eax
lea eax, [ecx - 2]
test ax, 0xfffd
je 0xfd5660
mov eax, 3
cmp cx, 7
jne 0xfd566f
movzx eax, di
cmp di, 3
mov edi, 3
cmovae eax, edi
mov edi, dword [esp + 0x90]
add eax, dword [esp]
imul eax, eax, 0x830
add eax, dword [edi]
mov edi, dword [esp + 0x14]
movzx ecx, word [edi + 0x16]
add dword [eax + ecx*4], 1
add dword [eax + 0x820], 1
jmp 0xfd55e1