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

Disassembly:
sub esp, 0x220
push ebx
push ebp
push esi
lea eax, [esp + 0x84]
push edi
push eax
mov byte [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
call fcn.00464ab0
mov ebx, dword [esp + 0x23c]
add esp, 4
mov ebp, 2
lea ecx, [esp + 0x15c]
push ecx
call fcn.00464ab0
lea edx, [esp + 0x160]
push edx
push ebx
call fcn.004438a0
add esp, 0xc
test eax, eax
jl 0x49c4ec
mov edx, dword [esp + 0x15c]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
push edx
push 0
call fcn.00463990
add esp, 0x10
test eax, eax
jne 0x49c310
cmp dword [esp + 0x14], ebp
jl 0x49c4cd
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
mov esi, str.name
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x49c38f
test cl, cl
je 0x49c38b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x49c38f
add eax, ebp
add esi, ebp
test cl, cl
jne 0x49c36d
xor eax, eax
jmp 0x49c394
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x49c4cd
mov esi, str.init
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x49c3c5
test cl, cl
je 0x49c3c1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x49c3c5
add eax, ebp
add esi, ebp
test cl, cl
jne 0x49c3a3
xor eax, eax
jmp 0x49c3ca
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x49c3ef
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
push 0x10
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.00584e60
add esp, 0xc
mov byte [esp + 0x37], 0
jmp 0x49c4cd
mov esi, str.final
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x49c418
test cl, cl
je 0x49c414
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x49c418
add eax, ebp
add esi, ebp
test cl, cl
jne 0x49c3f6
xor eax, eax
jmp 0x49c41d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
push 0x10
push ecx
jne 0x49c442
lea edx, [esp + 0x20]
push edx
call fcn.00584e60
add esp, 0xc
mov byte [esp + 0x27], 0
jmp 0x49c4cd
lea edx, [esp + 0x5c]
push edx
call fcn.00584e60
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x6f], 0
lea edi, [esp + 0x60]
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x1c]
not ecx
dec ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax]
push 0x20
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.00584e60
lea eax, [esp + 0x7c]
push eax
push 0
mov byte [esp + 0xa3], 0
call fcn.0049b030
add esp, 0x20
test eax, eax
je 0x49c4af
mov ecx, dword [eax + 4]
cmp ecx, 0x49ca00
je 0x49c4af
cmp ecx, 0x49cca0
je 0x49c4af
push eax
call fcn.0049b0b0
add esp, 4
xor eax, eax
push 0x38
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x90]
push edx
mov dword [esp + 0x90], eax
call fcn.00464ad0
add esp, 0xc
mov eax, dword [esp + 0x10]
push eax
call fcn.00478500
lea ecx, [esp + 0x160]
push ecx
call fcn.00464cc0
add esp, 8
jmp 0x49c310
mov edx, dword [esp + 0x8c]
lea eax, [edx + 0x130]
push eax
call fcn.004783d0
or ecx, 0xffffffff
mov ebp, eax
xor eax, eax
lea edi, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp + 4], ecx
or ecx, 0xffffffff
lea edi, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
lea ebx, [ebp + 8]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x1c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp + 0x18], ecx
or ecx, 0xffffffff
lea edi, [esp + 0x1c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
lea edx, [ebp + 0x1c]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x90]
mov eax, 0x24924925
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov dword [ebp + 0x12c], ecx
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x8c]
mov edx, ecx
shr ecx, 2
lea edi, [ebp + 0x130]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x8c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.00464cc0
xor eax, eax
mov ecx, 0x40
lea edi, [ebp + 0x2c]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0x12c]
add esp, 8
test ecx, ecx
mov edx, 1
jle 0x49c5f2
lea ecx, [ebp + 0x134]
xor edx, edx
mov dl, byte [ecx]
inc eax
add ecx, 0x38
mov esi, edx
mov edx, 1
mov byte [esi + ebp + 0x2c], dl
cmp eax, dword [ebp + 0x12c]
jl 0x49c5d7
mov bl, byte [ebx]
test bl, bl
je 0x49c602
and ebx, 0xff
mov byte [ebx + ebp + 0x2c], dl
xor eax, eax
mov al, byte [ebp + 0x1c]
test al, al
je 0x49c614
and eax, 0xff
mov byte [eax + ebp + 0x2c], dl
mov eax, dword [esp + 0x234]
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0x49ce70
mov dword [esp + 0x44], 0x49d100
mov dword [esp + 0x48], 0x49d450
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], ebp
call fcn.0049b4d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x220
ret