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

Disassembly:
push 0xffffffffffffffff
push 0x52bbfb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x19c
mov al, byte [esp + 3]
push ebx
push ebp
push esi
xor ebx, ebx
push edi
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x28], al
call fcn.00402fc0
lea ecx, [esp + 0x13]
mov dword [esp + 0x1b4], 1
push ecx
lea ecx, [esp + 0x38]
call fcn.004937a0
lea edx, [esp + 0x1b]
lea ecx, [esp + 0x44]
push edx
mov byte [esp + 0x1b8], 2
call fcn.004937a0
lea eax, [esp + 0x1a]
lea ecx, [esp + 0x54]
push eax
mov byte [esp + 0x1b8], 3
call fcn.004937a0
lea ecx, [esp + 0x19]
mov byte [esp + 0x1b4], 4
push ecx
lea ecx, [esp + 0x68]
call fcn.004937a0
lea edx, [esp + 0x18]
lea ecx, [esp + 0x74]
push edx
mov byte [esp + 0x1b8], 5
call fcn.004937a0
mov edi, 0x570678
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x1b4], 6
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], ebx
push ecx
push 0x570678
lea ecx, [esp + 0x2c]
mov byte [esp + 0x28], bl
mov byte [esp + 0x29], bl
call fcn.00403010
mov edi, 0x570678
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x570678
lea ecx, [esp + 0x3c]
call fcn.00403010
mov edi, 0x570678
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x570678
lea ecx, [esp + 0x4c]
call fcn.00403010
mov edi, 0x570678
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x570678
lea ecx, [esp + 0x5c]
call fcn.00403010
mov edi, 0x570678
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x570678
lea ecx, [esp + 0x6c]
call fcn.00403010
mov edi, 0x570678
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x570678
lea ecx, [esp + 0x7c]
call fcn.00403010
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xac]
mov dword [esp + 0x1b4], 7
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c0]
mov esi, 0x53487c
mov edx, dword [eax + 4]
mov edi, dword [eax + 8]
cmp edx, ebx
je 0x49b0a2
mov esi, edx
cmp edi, ebx
mov eax, edi
jle 0x49b0df
mov ecx, esi
cmp byte [ecx], 0x2e
je 0x49b0b7
dec eax
inc ecx
cmp eax, ebx
jg 0x49b0aa
jmp 0x49b0df
sub edi, eax
or ecx, 0xffffffff
add edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebp, [esp + 0xac]
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp edx, ebx
jne 0x49b0e8
mov edx, 0x53487c
push 0x56905c
push edx
call fcn.004a68bf
mov ebp, eax
add esp, 8
xor esi, esi
cmp ebp, ebx
je 0x49b33a
push 2
push ebx
push ebp
call fcn.004a90d1
push ebp
call fcn.004a9a65
mov dword [esp + 0x94], eax
mov edi, 0x570678
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x570678
lea ecx, [esp + 0x7c]
call fcn.00403010
push ebx
push ebx
push ebp
call fcn.004a90d1
mov eax, dword [esp + 0x90]
add esp, 0xc
xor edi, edi
cmp eax, ebx
jbe 0x49b18b
cmp esi, 0x200
jge 0x49b18b
push ebx
push esi
push ebp
call fcn.004a90d1
push ebp
push 1
lea ecx, [esp + 0x28]
push 1
push ecx
call fcn.004a994e
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0xa0]
and edx, 0xff
add esp, 0x1c
add edi, edx
inc esi
cmp esi, eax
jb 0x49b151
cmp eax, 0x200
jbe 0x49b1ce
mov esi, 0x200
push ebx
push esi
push ebp
call fcn.004a90d1
push ebp
push 1
lea eax, [esp + 0x28]
push 1
push eax
call fcn.004a994e
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0xa0]
and ecx, 0xff
add esi, 0x200
add esp, 0x1c
add edi, ecx
cmp esi, eax
jb 0x49b197
lea edx, [esp + 0x9c]
push edi
push edx
call fcn.004c9ec0
add esp, 8
mov ecx, dword [0x5347a8]
mov byte [esp + 0x1b4], 8
push ecx
push ebx
push eax
lea ecx, [esp + 0x80]
call fcn.0040ed00
push 1
lea ecx, [esp + 0xa0]
mov byte [esp + 0x1b8], 7
call fcn.00402fc0
push ebx
call fcn.004a8eae
lea edx, [esp + 0xa0]
push eax
push edx
call fcn.004c9ec0
add esp, 0xc
mov ecx, dword [0x5347a8]
mov byte [esp + 0x1b4], 9
push ecx
push ebx
push eax
lea ecx, [esp + 0x80]
call fcn.0045eee0
push 1
lea ecx, [esp + 0xa0]
mov byte [esp + 0x1b8], 7
call fcn.00402fc0
lea edi, [esp + 0xac]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x5347a8]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [esp + 0x7c]
sub edx, ecx
cmp edx, esi
ja 0x49b284
call fcn.004b815e
cmp esi, ebx
jbe 0x49b2d7
mov eax, dword [esp + 0x7c]
push ebx
add eax, esi
lea ecx, [esp + 0x78]
push eax
mov dword [esp + 0x9c], eax
call fcn.004030d0
test al, al
je 0x49b2d7
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
lea edi, [edx + ecx]
mov ecx, esi
mov eax, ecx
lea esi, [esp + 0xac]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x94]
push ecx
lea ecx, [esp + 0x78]
call fcn.004030b0
mov edx, dword [0x5347a8]
mov eax, dword [esp + 0x1c4]
push edx
push ebx
push eax
lea ecx, [esp + 0x50]
call fcn.0040ed00
mov ecx, dword [0x5347a8]
mov edx, dword [esp + 0x1c0]
push ecx
push ebx
push edx
lea ecx, [esp + 0x70]
call fcn.0040ed00
push ebx
call fcn.004a8eae
push ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x98], 0x1000
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov byte [esp + 0x29], 1
call fcn.004a6555
add esp, 8
mov esi, dword [esp + 0x1bc]
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + 0x20]
mov dl, byte [esp + 0x21]
mov dword [esi], eax
mov al, byte [esp + 0x24]
lea edi, [esi + 8]
mov byte [esi + 4], cl
mov byte [esi + 5], dl
push ebx
mov ecx, edi
mov byte [edi], al
call fcn.00402fc0
mov ecx, dword [0x5347a8]
lea edx, [esp + 0x24]
push ecx
push ebx
push edx
mov ecx, edi
call fcn.0040ed00
mov al, byte [esp + 0x34]
lea edi, [esi + 0x18]
push ebx
mov ecx, edi
mov byte [esp + 0x1b8], 0xa
mov byte [edi], al
call fcn.00402fc0
mov ecx, dword [0x5347a8]
lea edx, [esp + 0x34]
push ecx
push ebx
push edx
mov ecx, edi
call fcn.0040ed00
lea eax, [esp + 0x44]
lea ecx, [esi + 0x28]
push eax
mov byte [esp + 0x1b8], 0xb
call fcn.0041cc40
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b4], 0xc
push ecx
lea ecx, [esi + 0x38]
call fcn.0041cc40
lea edx, [esp + 0x64]
lea ecx, [esi + 0x48]
push edx
mov byte [esp + 0x1b8], 0xd
call fcn.0041cc40
lea eax, [esp + 0x74]
lea ecx, [esi + 0x58]
push eax
mov byte [esp + 0x1b8], 0xe
call fcn.0041cc40
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov dword [esi + 0x68], ecx
mov ecx, dword [esp + 0x90]
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ecx
mov dword [esp + 0x98], 1
push 1
lea ecx, [esp + 0x78]
mov dword [esp + 0x1b8], 0x13
call fcn.00402fc0
mov byte [esp + 0x1b4], 0x12
push 1
lea ecx, [esp + 0x68]
call fcn.00402fc0
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b8], 0x11
call fcn.00402fc0
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x1b8], 0x10
call fcn.00402fc0
push 1
lea ecx, [esp + 0x38]
mov byte [esp + 0x1b8], 0xf
call fcn.00402fc0
push 1
lea ecx, [esp + 0x28]
mov byte [esp + 0x1b8], bl
call fcn.00402fc0
mov ecx, dword [esp + 0x1ac]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1a8
ret