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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008405b
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xe8], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x100]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x18], ebx
push 1
xor eax, eax
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
lea ecx, [esp + 0xc8]
push 0x100a5588
mov dword [esp + 0xe0], 7
mov dword [esp + 0xdc], 0
mov word [esp + 0xcc], ax
call fcn.10057740
mov dword [esp + 0x108], 0
mov eax, dword [ebx]
mov eax, dword [eax]
mov esi, dword [eax + 0x3c]
lea eax, [esp + 0xc4]
push eax
mov ecx, esi
call fcn.100639a0
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test eax, eax
je 0x1004bc20
mov bl, byte [eax + 0x1a]
mov edx, dword [eax + 0x30]
cmp bl, 1
je 0x1004b44e
cmp bl, 2
jne 0x1004b464
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x1004b464
movzx eax, word [eax + 0x18]
lea ecx, [ecx*2 + 2]
cmp eax, ecx
je 0x1004b46c
test edx, edx
jne 0x1004bc20
cmp bl, 1
je 0x1004b479
test edx, edx
jne 0x1004bc20
cmp edx, 0xffffffff
je 0x1004bc20
mov dword [esi], edx
lea ecx, [esp + 0xac]
push 0x100a55f4
lea edx, [esp + 0xc8]
call fcn.1005c670
add esp, 4
mov byte [esp + 0x108], 1
lea eax, [esp + 0xac]
mov ebx, dword [esp + 0x18]
mov ecx, ebx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.10055bc0
mov byte [esp + 0x108], 2
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1004bbc8
mov eax, dword [eax]
lea ecx, [esp + 0xac]
cmp ecx, eax
je 0x1004b4ea
push 0xffffffffffffffff
push 0
push eax
call fcn.10057620
push ecx
lea eax, [esp + 0xb0]
mov ecx, ebx
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.10055d90
mov byte [esp + 0x108], 3
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x1004b516
xor esi, esi
jmp 0x1004bba9
push 2
push 0
push 0
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xdc]
push eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::fpos_int____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
mov ecx, dword [esp + 0x14]
push 0
push 0
mov esi, dword [eax + 8]
add esi, dword [eax]
mov edi, dword [eax + 0xc]
adc edi, dword [eax + 4]
push 0
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
push esi
lea ecx, [esp + 0x50]
call fcn.10055120
mov byte [esp + 0x108], 4
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
push edi
push esi
push ebx
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
mov eax, dword [esp + 0x14]
cmp esi, dword [eax + 8]
jne 0x1004bb73
cmp edi, dword [eax + 0xc]
jne 0x1004bb73
movzx esi, byte [ebx + 0x2f]
movzx eax, byte [ebx + 0x2e]
shl esi, 8
add esi, eax
movzx eax, byte [ebx + 0x2d]
shl esi, 8
add esi, eax
movzx eax, byte [ebx + 0x2c]
shl esi, 8
add esi, eax
mov eax, dword [0x101fcc30]
test al, 1
jne 0x1004b61a
or eax, 1
mov dword [0x101fcc30], eax
mov byte [esp + 0x108], 5
mov ecx, 0x101fcc40
push str.Paquete
call fcn.10054f20
mov byte [esp + 0x108], 6
mov ecx, 0x101fcc58
push str.Package
call fcn.10054f20
mov byte [esp + 0x108], 7
mov ecx, 0x101fcc70
push str.Documento_Microsoft_Word
call fcn.10054f20
mov byte [esp + 0x108], 5
push 0x1009d6a0
call fcn.10081f3e
add esp, 4
mov byte [esp + 0x108], 4
mov edx, dword [esp + 0x50]
lea eax, [esi + ebx]
mov ecx, 0x101fcc40
mov dword [esp + 0x58], eax
mov dword [esp + 0x30], ecx
mov edi, edi
mov edi, dword [ecx + 0x10]
mov esi, eax
lea eax, [edi + esi]
cmp eax, edx
jae 0x1004bb32
call fcn.10055080
push edi
push esi
push eax
call dword [sym.imp.MSVCR120.dll__memicmp]
add esp, 0xc
test eax, eax
jne 0x1004bb1b
push 0x100a5660
lea edx, [esp + 0xc8]
lea ecx, [esp + 0xe0]
call fcn.1005c670
add esp, 4
mov edi, eax
mov byte [esp + 0x108], 8
lea eax, [esp + 0xac]
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
cmp eax, edi
je 0x1004b6d2
cmp dword [esp + 0xc0], 8
jb 0x1004b6a5
push dword [esp + 0xac]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0xc0], 7
push edi
lea ecx, [esp + 0xb0]
mov dword [esp + 0xc0], 0
mov word [esp + 0xb0], ax
call fcn.100574c0
mov byte [esp + 0x108], 4
cmp dword [esp + 0xf0], 8
jb 0x1004b6f0
push dword [esp + 0xdc]
call ebx
add esp, 4
mov ebx, dword [esp + 0x18]
xor eax, eax
mov word [esp + 0xdc], ax
mov dword [esp + 0xf0], 7
mov dword [esp + 0xec], 0
mov eax, dword [ebx]
test eax, eax
je 0x1004bb73
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
lea eax, [esp + 0xac]
push eax
mov byte [ecx + 0x10], 1
call fcn.100639a0
test eax, eax
je 0x1004bb73
mov eax, dword [ebx]
test eax, eax
je 0x1004bb73
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c]
lea eax, [esp + 0xac]
push eax
mov byte [ecx + 0x10], 1
call fcn.100639a0
test eax, eax
je 0x1004bb73
cmp byte [eax + 0x1a], 1
jne 0x1004bb73
mov eax, dword [ebx]
mov eax, dword [eax]
mov edi, dword [eax + 0x3c]
lea eax, [esp + 0xac]
push eax
mov ecx, edi
call fcn.100639a0
test eax, eax
je 0x1004bb73
mov bl, byte [eax + 0x1a]
mov edx, dword [eax + 0x30]
cmp bl, 1
je 0x1004b79c
cmp bl, 2
jne 0x1004b7b2
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x1004b7b2
movzx eax, word [eax + 0x18]
lea ecx, [ecx*2 + 2]
cmp eax, ecx
je 0x1004b7ba
test edx, edx
jne 0x1004bb73
cmp bl, 1
je 0x1004b7c7
test edx, edx
jne 0x1004bb73
cmp edx, 0xffffffff
je 0x1004bb73
mov dword [edi], edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov byte [esp + 0x108], 9
mov dword [esp + 0x2c], 0
mov byte [esp + 0x108], 0xa
lea eax, [esp + 0x84]
mov ebx, dword [esp + 0x18]
mov ecx, ebx
push eax
call fcn.10055e50
mov edi, eax
mov byte [esp + 0x108], 0xb
mov ecx, dword [edi]
mov dword [esp + 0x1c], ecx
lea ecx, [edi + 4]
push ecx
lea ecx, [esp + 0x24]
call fcn.10055970
mov eax, dword [edi + 0x10]
mov dword [esp + 0x2c], eax
mov byte [esp + 0x108], 0xa
lea ecx, [esp + 0x84]
call fcn.1004af70
lea eax, [esp + 0x5c]
push eax
call fcn.10055eb0
mov byte [esp + 0x108], 0xc
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x10]
jne 0x1004b897
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax]
jne 0x1004b897
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 4]
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x20]
xor ecx, eax
test ecx, 0xfffffffc
jne 0x1004b897
mov eax, 1
jmp 0x1004b899
xor eax, eax
test al, al
sete bl
mov byte [esp + 0x108], 0xa
mov eax, dword [esp + 0x60]
test eax, eax
je 0x1004b8d0
push eax
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
test bl, bl
je 0x1004b980
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
mov eax, dword [ebx + edi*4]
cmp byte [eax + 0x1a], 2
jne 0x1004b938
lea ecx, [esp + 0xac]
cmp ecx, eax
je 0x1004b906
push 0xffffffffffffffff
push 0
push eax
call fcn.10057620
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0xc0], 8
mov ecx, dword [esp + 0xac]
jae 0x1004b91e
lea ecx, [esp + 0xac]
mov eax, dword [esp + 0xbc]
lea edx, [eax*2 + 2]
call fcn.10058a10
cmp eax, 0xe429c85a
je 0x1004b967
inc edi
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x24]
sub eax, ebx
sar eax, 2
cmp edi, eax
jne 0x1004b855
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], 0
jmp 0x1004b855
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x1c]
mov ecx, edi
call fcn.1004b010
test al, al
jne 0x1004bb5b
jmp 0x1004b984
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x98]
push eax
call fcn.10055eb0
mov byte [esp + 0x108], 0xe
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x10]
jne 0x1004b9c6
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax]
jne 0x1004b9c6
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 4]
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x20]
xor ecx, eax
test ecx, 0xfffffffc
jne 0x1004b9c6
mov bl, 1
jmp 0x1004b9c8
xor bl, bl
mov byte [esp + 0x108], 0xa
lea ecx, [esp + 0x98]
call fcn.1004af70
test bl, bl
je 0x1004bb0a
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.10055f30
mov byte [esp + 0x108], 0xf
jmp 0x1004ba00
lea eax, [esp + 0x70]
push eax
call fcn.10055eb0
mov byte [esp + 0x108], 0x10
mov edx, eax
lea ecx, [esp + 0x38]
call fcn.1005ca20
mov bl, al
mov byte [esp + 0x108], 0xf
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x1004ba51
push ecx
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
test bl, bl
je 0x1004baf9
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x48]
mov eax, dword [ebx + edi*4]
cmp byte [eax + 0x1a], 2
jne 0x1004bab9
lea ecx, [esp + 0xac]
cmp ecx, eax
je 0x1004ba87
push 0xffffffffffffffff
push 0
push eax
call fcn.10057620
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0xc0], 8
mov ecx, dword [esp + 0xac]
jae 0x1004ba9f
lea ecx, [esp + 0xac]
mov eax, dword [esp + 0xbc]
lea edx, [eax*2 + 2]
call fcn.10058a10
cmp eax, 0xe429c85a
je 0x1004bae8
inc edi
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x40]
sub eax, ebx
sar eax, 2
cmp edi, eax
jne 0x1004ba00
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], 0
jmp 0x1004ba00
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x38]
call fcn.1004b010
test al, al
jne 0x1004bb4a
mov byte [esp + 0x108], 0xa
lea ecx, [esp + 0x38]
call fcn.1004af70
mov byte [esp + 0x108], 4
lea ecx, [esp + 0x1c]
call fcn.1004af70
mov ecx, dword [esp + 0x30]
inc esi
mov edx, dword [esp + 0x50]
mov edi, dword [ecx + 0x10]
lea eax, [edi + esi]
cmp eax, edx
jb 0x1004b640
add ecx, 0x18
mov dword [esp + 0x30], ecx
cmp ecx, 0x101fcc88
je 0x1004bb73
mov eax, dword [esp + 0x58]
jmp 0x1004b630
mov byte [esp + 0x108], 0xa
lea ecx, [esp + 0x38]
call fcn.1004af70
mov byte [esp + 0x108], 4
lea ecx, [esp + 0x1c]
call fcn.1004af70
mov esi, 1
jmp 0x1004bb75
xor esi, esi
mov byte [esp + 0x108], 3
mov eax, dword [esp + 0x4c]
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
test eax, eax
je 0x1004bba9
push eax
call edi
add esp, 4
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov byte [esp + 0x108], 2
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1004bbca
mov ecx, dword [eax]
push 1
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
jmp 0x1004bbca
xor esi, esi
mov byte [esp + 0x108], 1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1004bbe0
push eax
call edi
add esp, 4
mov byte [esp + 0x108], 0
cmp dword [esp + 0xc0], 8
jb 0x1004bbfe
push dword [esp + 0xac]
call edi
add esp, 4
xor eax, eax
mov dword [esp + 0xc0], 7
mov dword [esp + 0xbc], 0
mov word [esp + 0xac], ax
jmp 0x1004bc22
xor esi, esi
mov dword [esp + 0x108], 0xffffffff
cmp dword [esp + 0xd8], 8
jb 0x1004bc43
push dword [esp + 0xc4]
call edi
add esp, 4
xor eax, eax
mov dword [esp + 0xd8], 7
mov word [esp + 0xc4], ax
mov eax, esi
mov dword [esp + 0xd4], 0
mov ecx, dword [esp + 0x100]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.10081d64
mov esp, ebp
pop ebp
ret