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

Disassembly:
push 0xffffffffffffffff
push 0x4feacb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1e0
push ebx
push ebp
push esi
push edi
mov ebp, ecx
call fcn.004b3b50
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.004ed8ee
mov ebx, eax
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 4
mov byte [esp + 0x17], 0
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 2
mov eax, ecx
mov esi, edi
mov edi, ebx
push 0x520014
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004fa3a6
add esp, 4
push eax
call fcn.004ee620
add esp, 0xc
test eax, eax
jne 0x491824
mov byte [esp + 0x17], 1
push ebx
call fcn.004ed4d0
lea ecx, [esp + 0x48]
lea edx, [esp + 0x44]
push ecx
push edx
push 0x32
call fcn.004a9760
mov eax, dword [ebp + 0x40]
xor ecx, ecx
xor edx, edx
mov eax, dword [eax + 4]
mov cx, word [eax + 2]
mov dx, word [eax]
push ecx
add eax, 4
push edx
push eax
mov eax, dword [ebp + 0x58]
push 0
push 0
push eax
push fcn.004d52c0
call fcn.004a97c0
mov ecx, dword [ebp + 0xa8]
mov eax, dword [ebp + 0xa4]
mov edx, dword [ebp + 0xa0]
mov si, word [ebp + 0xce]
sub ecx, 2
add eax, 2
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0xac]
mov dword [esp + 0x4c], eax
add esp, 0x2c
add edx, 2
sub ecx, 2
add eax, 6
cmp si, word [ebp + 0xcc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x10], eax
jae 0x491d1f
jmp 0x4918c0
mov esi, dword [esp + 0x30]
cmp eax, ecx
jg 0x491d3b
cmp si, word [ebp + 0xce]
je 0x4918f4
lea edi, [eax + 0x12]
cmp edi, ecx
jge 0x4918f0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x40]
mov ecx, dword [ecx + 4]
push ecx
push 0x39
push eax
push edx
call fcn.0048f700
add esp, 0x14
mov dword [esp + 0x10], edi
mov edx, dword [ebp + 0xd4]
mov edi, esi
and edi, 0xffff
xor eax, eax
shl edi, 4
mov ax, word [edi + edx + 4]
add eax, 0x4000
push eax
call fcn.004d4c60
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je 0x49192d
mov cx, word [eax + 6]
mov word [esp + 0x18], cx
jmp 0x491935
mov dword [esp + 0x18], 0x2c
sub si, word [ebp + 0xd0]
mov edx, dword [ebp + 0xd4]
mov ebx, dword [edi + edx + 0xc]
neg si
sbb esi, esi
push ebx
and esi, 0x1fe
add esi, 0x21
call fcn.004ee563
add esp, 4
test eax, eax
je 0x491ab2
push ebx
call fcn.004ee563
push eax
lea eax, [esp + 0x50]
push eax
call fcn.004b3120
add esp, 0xc
mov ecx, eax
mov dword [esp + 0x1f8], 0
call fcn.004dea20
lea ecx, [esp + 0xf0]
push eax
push ecx
call fcn.004ef84d
add esp, 8
lea ecx, [esp + 0x48]
mov dword [esp + 0x1f8], 0xffffffff
call fcn.004de3d0
mov bl, byte [esp + 0x17]
test bl, bl
je 0x4919c7
lea edx, [esp + 0xf0]
push str._at
push edx
jmp 0x4919d4
lea eax, [esp + 0xf0]
push 0x520000
push eax
call fcn.004ef823
mov edx, dword [ebp + 0xd4]
add esp, 8
xor eax, eax
lea ecx, [esp + 0x58]
mov ax, word [edi + edx + 0xa]
push 0xa
push ecx
push eax
call fcn.004ef7f1
lea ecx, [esp + 0x64]
lea edx, [esp + 0xfc]
push ecx
push edx
call fcn.004ef823
add esp, 0x14
test bl, bl
je 0x491a24
lea eax, [esp + 0xf0]
push 0x51fff8
push eax
call fcn.004ef823
add esp, 8
lea ecx, [esp + 0x38]
lea edx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x38]
push edx
push eax
lea ecx, [esp + 0xfc]
push 0x64
push ecx
call fcn.004dca60
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
mov edx, ebx
add esp, 0x14
and edx, 0xffff
cmp eax, edx
jle 0x491a5f
mov dword [esp + 0x18], eax
mov ebx, eax
and esi, 0xffff
lea eax, [esp + 0x1c]
push 0
push eax
lea ecx, [esi + esi*4]
xor eax, eax
lea edx, [esi + ecx*2]
mov ecx, dword [esp + 0x18]
add ecx, 2
mov ax, word [edx*8 + 0xcac138]
mov edx, dword [esp + 0x24]
push eax
add edx, 0x3c
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x40]
lea eax, [esp + 0x104]
push eax
mov eax, dword [edx + 4]
push ecx
add eax, 4
push 0x64
push eax
call fcn.004dd2e0
add esp, 0x24
jmp 0x491b53
mov ecx, dword [ebp + 0xd4]
xor edx, edx
lea eax, [esp + 0x70]
mov dx, word [edi + ecx + 0xa]
push edx
push ebx
push str._s_at__d_gp
push eax
call fcn.004ee486
lea ecx, [esp + 0x48]
push 0
lea edx, [esp + 0x40]
push ecx
lea eax, [esp + 0x4c]
push edx
push eax
lea ecx, [esp + 0x90]
push 0x64
push ecx
push 9
call fcn.004a7f90
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x58]
and edx, 0xffff
add esp, 0x2c
cmp eax, edx
jle 0x491b0b
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x20]
push 0
push 0
lea eax, [esp + 0x24]
push 0
push eax
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x20]
add eax, 4
push ecx
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x88]
and esi, 0xffff
push 0x64
push ecx
push esi
add edx, 2
push 9
add eax, 0x32
push edx
push eax
call fcn.004a7420
mov ebx, dword [esp + 0x48]
add esp, 0x30
mov eax, dword [ebp + 0xd8]
test eax, eax
je 0x491b72
mov ecx, dword [ebp + 0xd4]
mov ecx, dword [edi + ecx]
cmp dword [eax + 4], ecx
je 0x491bc6
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x491b66
xor eax, eax
mov edx, dword [ebp + 0xd4]
xor ecx, ecx
and eax, 0xffff
mov cx, word [edi + edx + 8]
lea edx, [esp + 0x70]
sub ecx, eax
push ecx
push 0x5192f0
push edx
call fcn.004ee486
lea eax, [esp + 0x44]
lea ecx, [esp + 0x38]
push eax
lea edx, [esp + 0x44]
push ecx
lea eax, [esp + 0x84]
push edx
push eax
push 9
call fcn.004a7e80
add esp, 0x20
cmp bx, 0x2c
jae 0x491bd0
mov eax, 0x2c
jmp 0x491bd7
test eax, eax
je 0x491b72
mov ax, word [eax + 0xa]
jmp 0x491b74
mov eax, ebx
and eax, 0xffff
mov edx, dword [ebp + 0x20]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x40]
push edx
mov edx, dword [ecx + 4]
lea ecx, [esp + 0x78]
add edx, 4
push edx
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x20]
add eax, edx
push esi
mov esi, dword [esp + 0x48]
push 9
lea edx, [eax + ecx - 0x1d]
mov eax, dword [esp + 0x3c]
sub eax, esi
push edx
push eax
call fcn.004a7380
mov esi, dword [esp + 0x5c]
add esp, 0x20
test esi, esi
je 0x491ce2
mov ecx, dword [ebp + 0x40]
xor edx, edx
mov eax, dword [ecx + 4]
mov dx, word [eax]
add eax, 4
push edx
push eax
call fcn.004d55c0
mov eax, dword [ebp + 0xd4]
add esp, 8
mov di, word [edi + eax + 6]
test di, di
je 0x491ca2
cmp di, 0xea60
jbe 0x491c5b
mov dword [0xd413c0], 1
jmp 0x491c68
and edi, 0xffff
dec edi
mov dword [0xd413c0], edi
cmp bx, 0x2c
jae 0x491c8b
mov ecx, ebx
mov eax, 0x2c
and ecx, 0xffff
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x10]
sar eax, 1
add eax, edx
push eax
jmp 0x491c90
mov ecx, dword [esp + 0x10]
push ecx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x20]
push edx
push eax
push esi
push 0x4d4f70
jmp 0x491cda
cmp bx, 0x2c
jae 0x491cc5
mov ecx, ebx
mov eax, 0x2c
and ecx, 0xffff
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x10]
sar eax, 1
add eax, edx
push eax
jmp 0x491cca
mov ecx, dword [esp + 0x10]
push ecx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x20]
push edx
push eax
push esi
push fcn.004d4cf0
call fcn.004d55e0
add esp, 0x14
cmp bx, 0x2c
jae 0x491cef
mov ebx, 0x2c
jmp 0x491cf5
and ebx, 0xffff
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
add esi, ebx
inc eax
cmp ax, word [ebp + 0xcc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], esi
mov eax, esi
jb 0x4918bc
cmp eax, ecx
jg 0x491d3b
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x40]
mov ecx, dword [ecx + 4]
push ecx
push 0x39
push eax
push edx
call fcn.0048f700
add esp, 0x14
mov ecx, dword [esp + 0x1f0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1ec
ret