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

Disassembly:
sub esp, 0x7fc
mov eax, dword [0x6dadfc]
xor eax, esp
mov dword [esp + 0x7f4], eax
push ebx
push ebp
push esi
push edi
xor esi, esi
push 0x40
lea eax, [esp + 0x80]
mov edi, ecx
push esi
push eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x84], esi
call fcn.005d50c0
add esp, 0xc
push 0x44
lea ecx, [esp + 0x38]
push esi
push ecx
mov dword [esp + 0x3c], esi
call fcn.005d50c0
mov edx, dword [edi]
movzx edi, dl
add esp, 0xc
mov dword [esp + 0x14], edx
cmp edi, 0x10
jbe 0x4468d6
mov eax, 0xffffffd4
jmp 0x446a71
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x818]
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x50c]
push eax
mov eax, dword [esp + 0x824]
call fcn.00445970
add esp, 0x10
mov dword [esp + 0x2c], eax
cmp eax, 0xffffff88
ja 0x446a71
mov ebx, dword [esp + 0x20]
cmp ebx, edi
ja 0x4468cc
mov dword [esp + 0x18], ebx
cmp dword [esp + ebx*4 + 0x78], esi
jne 0x446930
dec ebx
cmp dword [esp + ebx*4 + 0x78], esi
je 0x446925
mov dword [esp + 0x18], ebx
xor edi, edi
lea eax, [edi + 1]
lea ebp, [ebx + 1]
mov dword [esp + 0x24], edi
cmp ebp, eax
jbe 0x446953
mov ecx, edi
add edi, dword [esp + eax*4 + 0x78]
mov dword [esp + eax*4 + 0x34], ecx
inc eax
cmp eax, ebp
jb 0x446940
mov dword [esp + 0x24], edi
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x34], edi
test esi, esi
jbe 0x44698b
movzx edx, byte [esp + eax + 0x500]
mov ecx, dword [esp + edx*4 + 0x34]
mov byte [esp + ecx*2 + 0x600], al
inc eax
lea ebx, [ecx + 1]
mov dword [esp + edx*4 + 0x34], ebx
mov byte [esp + ecx*2 + 0x601], dl
cmp eax, esi
jb 0x446961
mov ebx, dword [esp + 0x18]
movzx edx, byte [esp + 0x14]
sub edx, dword [esp + 0x20]
xor esi, esi
lea eax, [esi + 1]
dec edx
mov dword [esp + 0x34], esi
cmp ebp, eax
jbe 0x4469c3
mov ebx, dword [esp + eax*4 + 0x78]
lea ecx, [eax + edx]
shl ebx, cl
mov edi, esi
mov dword [esp + eax*4 + 0xc0], edi
inc eax
add esi, ebx
cmp eax, ebp
jb 0x4469a2
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
sub ecx, ebx
movzx ebx, byte [esp + 0x14]
inc ecx
sub ebx, ecx
inc ebx
cmp ecx, ebx
jae 0x446a27
mov edx, ecx
shl edx, 4
add edx, ecx
lea eax, [esp + edx*4 + 0xc4]
mov edx, ecx
neg edx
shl edx, 4
sub edx, ecx
add edx, edx
mov dword [esp + 0x1c], eax
add edx, edx
cmp ebp, 1
jbe 0x446a14
lea esi, [ebp - 1]
lea ecx, [ecx]
mov edi, dword [edx + eax]
shr edi, cl
add eax, 4
sub esi, 1
mov dword [eax - 4], edi
jne 0x446a00
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
inc ecx
add eax, 0x44
sub edx, 0x44
mov dword [esp + 0x1c], eax
cmp ecx, ebx
jb 0x4469f5
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
movzx ebx, byte [esp + 0x14]
mov esi, dword [esp + 0x28]
inc eax
push eax
push ecx
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0x3c]
push eax
push edi
lea ecx, [esp + 0x614]
push ecx
lea eax, [esi + 4]
push ebx
push eax
call fcn.00449df0
mov eax, dword [esp + 0x4c]
mov byte [esp + 0x36], bl
mov byte [esp + 0x35], 1
mov edx, dword [esp + 0x34]
add esp, 0x20
mov dword [esi], edx
mov ecx, dword [esp + 0x804]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005d17b7
add esp, 0x7fc
ret