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

Disassembly:
add esp, 0xfffffff8
inc esi
mov ecx, dword [esp + 0x658]
lea eax, [esp + 0x434]
mov ebx, dword [eax + 0x830]
mov edx, 0x208
add ebx, dword [ecx + esi*4 - 4]
call fcn.100041b0
mov eax, ebx
push eax
call fcn.10003e88
mov ecx, eax
test eax, eax
je 0x10004bc6
cmp eax, 6
jbe 0x10004b0a
mov dword [esp + 0x10], ecx
lea edx, [eax + ebx]
neg edx
lea ecx, [esp + eax*2 + 0x42c]
add edx, ecx
lea edi, [eax + eax]
mov dword [esp + 0x658], ecx
mov ecx, dword [esp + 0x10]
cmp edx, edi
jg 0x10004a68
neg edx
cmp edx, eax
jle 0x10004b0a
mov edi, eax
shr edi, 1
je 0x100062b3
xor ecx, ecx
lea edx, [ebx + eax]
mov dword [esp + 0x644], esi
mov dword [esp + 0x65c], edi
mov dword [esp + 0x634], eax
mov dword [esp + 0x638], ebx
mov esi, ecx
mov ebx, dword [esp + 0x658]
lea eax, [ecx*4]
neg eax
inc ecx
movsx edi, byte [esi + edx]
mov word [ebx + eax], di
movsx edi, byte [esi + edx - 1]
add esi, 0xfffffffe
mov word [ebx + eax - 2], di
cmp ecx, dword [esp + 0x65c]
jb 0x10004a95
mov eax, dword [esp + 0x634]
lea edx, [ecx + ecx + 1]
mov ebx, dword [esp + 0x638]
mov esi, dword [esp + 0x644]
lea ecx, [edx - 1]
cmp ecx, eax
jae 0x10004afd
lea ecx, [ebx + eax]
sub ecx, edx
add edx, edx
neg edx
movsx edi, byte [ecx + 1]
mov ecx, dword [esp + 0x658]
mov word [edx + ecx + 2], di
lea edx, [eax + 1]
sub eax, edx
lea ecx, [eax + 1]
jmp 0x10004bc6
mov edx, eax
shr edx, 1
mov dword [esp + 0x660], edx
je 0x10006523
xor edx, edx
lea ecx, [esp + eax*2 + 0x42c]
mov dword [esp + 0x63c], ecx
lea edi, [ebx + eax]
mov dword [esp + 0x634], eax
xor ecx, ecx
mov dword [esp + 0x638], ebx
mov dword [esp + 0x644], esi
mov eax, dword [esp + 0x63c]
movsx esi, byte [ecx + edi]
lea ebx, [edx*4]
neg ebx
inc edx
mov word [eax + ebx], si
movsx esi, byte [ecx + edi - 1]
add ecx, 0xfffffffe
mov word [eax + ebx - 2], si
cmp edx, dword [esp + 0x660]
jb 0x10004b4c
mov eax, dword [esp + 0x634]
lea ecx, [edx + edx]
neg ecx
lea edi, [edx + edx + 1]
mov ebx, dword [esp + 0x638]
add ecx, eax
mov esi, dword [esp + 0x644]
lea edx, [edi - 1]
cmp edx, eax
jae 0x10004bc6
lea ecx, [ebx + eax]
sub ecx, edi
movsx edx, byte [ecx + 1]
mov ecx, eax
sub ecx, edi
add edi, edi
neg edi
mov dword [esp + 0x640], edx
lea edx, [esp + eax*2 + 0x42c]
mov eax, dword [esp + 0x640]
mov word [edi + edx + 2], ax
movsx edx, byte [ecx + ebx]
mov word [esp + ecx*2 + 0x42c], dx
xchg esp, eax
dec esp
sub al, 4
add byte [eax], al
push eax
lea eax, [esp + 0x430]
call fcn.10003ec0
invalid
dec dword [ebx + 0x76c985c8]
invalid
mov edx, dword [esp + 0xca0]
xor eax, eax
mov ebx, dword [edx + 0x11c]
mov edx, ecx
shr edx, 1
je 0x100062bd
mov dword [esp + 0x644], esi
xor edi, edi
imul eax, ebx
movzx esi, word [esp + edi*4 + 0x42c]
add eax, esi
imul eax, ebx
movzx esi, word [esp + edi*4 + 0x42e]
inc edi
add eax, esi
cmp edi, edx
jb 0x10004c07
mov esi, dword [esp + 0x644]
lea edi, [edi + edi + 1]
lea edx, [edi - 1]
cmp edx, ecx
jae 0x10004c49
imul ebx, eax
movzx eax, word [esp + edi*2 + 0x42a]
add eax, ebx
jmp 0x10004c49
xor eax, eax
mov edx, dword [esp + 0x648]
mov ecx, dword [esp + 0x64c]
movzx ebx, word [edx + esi*2 - 2]
mov edx, dword [esp + 0xc5c]
add edx, dword [ecx + ebx*4]
cmp eax, dword [esp + 0x654]
jne 0x100049f9
mov eax, dword [esp + 0xc98]
mov esi, dword [esp + 0xa54]
mov edi, dword [esp + 0x85c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x854]
mov dword [eax + 0x68], edx
mov edx, dword [esp + 0x840]
or byte [eax], al
add byte [ecx - 0x6b74cbb0], cl
and al, 0x4c
or byte [eax], al
add byte [ecx - 0x6b74afb0], cl
and al, 0x60
or byte [eax], al
add byte [ecx - 0x6b74c3b0], cl
and al, 0x44
or byte [eax], al
add byte [ecx - 0x6b74b3b0], cl
and al, 0x50
or byte [eax], al
add byte [ecx - 0x6b74cfb0], cl
and al, 0x3c
or byte [eax], al
add byte [ecx + 0x548b6c50], cl
and al, 0x18
mov dword [eax + 0x54], edx
mov edx, dword [esp + 0x848]
mov dword [eax + 0x70], edx
mov edx, dword [esp + 0x858]
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0xc5c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xc94]
mov dword [eax + 0x44], edi
mov dword [eax + 0x78], esi
mov edx, 1
jmp 0x10004add
mov edi, 1
jmp 0x10004c31
mov edi, 1
jmp 0x10004b94