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

Disassembly:
push 0xffffffffffffffff
push 0x450beb
mov eax, dword fs:[0]
push eax
sub esp, 0x57c
mov eax, dword [0x4597d0]
xor eax, esp
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4597d0]
xor eax, esp
push eax
lea eax, reloc.MSVCRT.dll_strncpy
mov dword fs:[0], eax
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
xor esi, esi
push esi
mov ebx, edx
mov edx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov dword [esp + 0x64], eax
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
push esi
mov dword [esp + 0x6c], ecx
push esi
mov ecx, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
call fcn.0086c3d7
mov edi, dword [esp + reloc.MSVCRT.dll_strncpy]
cmp edi, esi
mov byte [esp + 0x1b], 1
jl 0x88157e
mov ebp, dword [esp + reloc.MSVCRT.dll_strncpy]
jg 0x881107
cmp ebp, esi
jbe 0x88157e
jmp 0x881107
mov ebp, dword [esp + reloc.MSVCRT.dll_strncpy]
mov edi, dword [esp + reloc.MSVCRT.dll_strncpy]
xor esi, esi
call fcn.008891c7
cmp edi, esi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], edi
jg 0x88114f
jl 0x881122
cmp ebp, 0x200
jae 0x88114f
mov ecx, 0x200
sub ecx, ebp
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push esi
push edx
mov edi, ebp
call fcn.00892d87
add esp, 0xc
mov dword [esp + reloc.MSVCRT.dll_strncpy], esi
mov dword [esp + reloc.MSVCRT.dll_strncpy], esi
mov ebp, esi
jmp 0x881169
add ebp, 0xfffffe00
adc dword [esp + reloc.MSVCRT.dll_strncpy], 0xffffffff
mov edi, 0x200
mov dword [esp + reloc.MSVCRT.dll_strncpy], ebp
push edi
lea eax, reloc.MSVCRT.dll_strncpy
push eax
mov ecx, ebx
call fcn.0086c6e7
push 0x200
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
push 0xffffffffffffffff
mov dword [esp + 0x4c], eax
call fcn.00863b17
mov edi, eax
push ebx
lea ecx, [esp + 0x78]
and edi, 0xffff
mov dword [esp + 0x24], esi
call fcn.00885c47
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push esi
push edx
push eax
mov ecx, ebx
mov dword [esp + reloc.MSVCRT.dll_strncpy], esi
call fcn.0086c3d7
push 0x100
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
mov ecx, ebx
call fcn.0086c6e7
movzx esi, byte [esp + 0x48d]
movzx edx, byte [esp + 0x48c]
push 0
mov dword [esp + 0x18], eax
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
push 0x200
push eax
shl esi, 8
push ebp
add esi, edx
call fcn.00894927
or eax, edx
je 0x881218
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], 0
jmp 0x881222
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
push 0
push 0x200
push ecx
push ebp
call fcn.00893647
mov ebp, eax
add ebp, dword [esp + 0x4c]
xor ecx, ecx
test ebp, ebp
jle 0x881283
mov eax, dword [esp + 0x14]
cdq
sub eax, edx
sar eax, 1
add eax, 0xfffffffe
mov dword [esp + 0x14], eax
cmp ecx, dword [esp + 0x14]
jge 0x881283
movzx edx, byte [esp + ecx*2 + 0x48f]
movzx eax, byte [esp + ecx*2 + 0x48e]
shl edx, 8
add edx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x8c], edx
inc eax
inc ecx
cmp ecx, ebp
mov dword [esp + 0x20], eax
jl 0x881253
add dword [esp + 0x30], 2
lea ecx, [esp + 0x74]
mov dword [esp + reloc.MSVCRT.dll_strncpy], 0xffffffff
adc dword [esp + 0x34], 0
call fcn.00885c77
cmp esi, edi
jne 0x8812af
mov byte [esp + 0x1b], 1
jmp 0x881560
xor esi, esi
mov ecx, ebx
mov dword [esp + 0x70], esi
call fcn.0086bba7
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov ebp, eax
sub ebp, dword [esp + 0x40]
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
push ecx
sbb edx, esi
push eax
push edx
push ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
call fcn.008884c7
mov ecx, dword [ebx + reloc.MSVCRT.dll_strncpy]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
cmp byte [ecx + 0x3938], 0
jne 0x881313
cmp edi, dword [0x463670]
je 0x881313
push edi
push 0x452424
call fcn.00863237
add esp, 8
movzx ecx, byte [esp + 0x1b]
neg ecx
sbb ecx, ecx
and ecx, 0xffff0202
add ecx, 0xfdff
cmp ecx, 0x10000
mov dword [0x463670], edi
mov dword [esp + 0x14], ecx
jge 0x88145b
jmp 0x88134f
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov eax, ecx
mov ecx, dword [esp + 0x48]
cdq
cmp edx, ecx
jg 0x88145b
jl 0x88136a
cmp eax, dword [esp + 0x44]
jae 0x88145b
mov edi, dword [esp + 0x44]
sub edi, eax
mov ebp, ecx
mov ecx, dword [esp + 0x1c]
sbb ebp, edx
add eax, dword [esp + 0x24]
push 0
adc edx, dword [esp + 0x2c]
mov esi, edi
push edx
push eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
call fcn.0086c3d7
test ebp, ebp
jg 0x8813bd
jl 0x8813a1
cmp esi, 0x200
jae 0x8813bd
mov edx, 0x200
sub edx, esi
push edx
lea eax, reloc.MSVCRT.dll_strncpy
push 0
push eax
call fcn.00892d87
add esp, 0xc
jmp 0x8813c2
mov esi, 0x200
push esi
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
mov ecx, dword [esp + 0x24]
call fcn.0086c6e7
mov cl, byte [esp + 0x28c]
mov eax, 1
lea esp, [esp]
cmp byte [esp + eax + 0x28c], cl
jne 0x881408
inc eax
cmp eax, 0x200
jb 0x8813e7
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
add ecx, 0x1ff
jmp 0x881442
push 0x200
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push 0xffffffffffffffff
call fcn.00863b17
mov ecx, eax
mov eax, dword [esp + 0x20]
and ecx, 0xffff
xor esi, esi
mov dword [esp + 0x68], ecx
test eax, eax
ja 0x8815ac
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
test esi, esi
jne 0x881453
inc ecx
cmp ecx, 0x10000
mov dword [esp + 0x14], ecx
jl 0x881347
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
test esi, esi
setne byte [esp + 0x1b]
test esi, esi
je 0x881547
mov edi, dword [esp + 0x60]
mov eax, esi
cdq
add ebp, eax
adc dword [esp + 0x28], edx
sub dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov eax, dword [edi + 8]
sbb dword [esp + 0x5b0], edx
inc dword [edi + 4]
mov ecx, dword [edi + 4]
cmp ecx, eax
jbe 0x8814d5
mov edx, eax
shr edx, 2
lea eax, [edx + eax + 0x20]
mov dword [esp + 0x14], ecx
cmp ecx, eax
ja 0x8814a7
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
lea ecx, [eax*8]
push ecx
push edx
call fcn.0089264e
add esp, 8
mov dword [edi], eax
test eax, eax
jne 0x8814ce
mov ecx, 0x46362c
call fcn.00867a17
mov eax, dword [esp + 0x14]
mov dword [edi + 8], eax
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov dword [eax + edi*8 - 8], ecx
mov dword [eax + edi*8 - 4], edx
mov edi, dword [esp + 0x64]
inc dword [edi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
cmp ecx, eax
jbe 0x88153e
mov edx, eax
shr edx, 2
lea eax, [edx + eax + 0x20]
mov dword [esp + 0x14], ecx
cmp ecx, eax
ja 0x881510
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
lea ecx, [eax*4]
push ecx
push edx
call fcn.0089264e
add esp, 8
mov dword [edi], eax
test eax, eax
jne 0x881537
mov ecx, 0x46362c
call fcn.00867a17
mov eax, dword [esp + 0x14]
mov dword [edi + 8], eax
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov dword [edx + ecx*4 - 4], esi
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x70]
add ecx, ebp
adc eax, dword [esp + 0x28]
push 0
push eax
push ecx
mov ecx, ebx
call fcn.0086c3d7
cmp dword [esp + reloc.MSVCRT.dll_strncpy], 0
jg 0x8810f7
jl 0x88157e
cmp dword [esp + reloc.MSVCRT.dll_strncpy], 0
ja 0x8810f7
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
xor ecx, esp
call fcn.00892869
add esp, 0x588
ret 0x14
mov ecx, dword [esp + 0x68]
cmp dword [esp + esi*4 + 0x8c], ecx
jne 0x8816ed
lea ecx, [eax - 1]
cmp esi, ecx
jae 0x8816fb
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
mov edx, ebx
add edx, 0x200
push 0
adc eax, 0
push eax
push edx
call fcn.0086c3d7
mov eax, edi
sub eax, 0x200
mov ecx, ebp
sbb ecx, 0
js 0x8816e9
jg 0x881600
test eax, eax
jb 0x8816e9
test ecx, ecx
jg 0x881631
jl 0x88160d
cmp eax, 0x200
jae 0x881631
mov ecx, 0x200
sub ecx, eax
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push 0
push edx
mov dword [esp + 0x68], eax
call fcn.00892d87
mov eax, dword [esp + 0x68]
add esp, 0xc
jmp 0x881636
mov eax, 0x200
mov ecx, dword [esp + 0x1c]
push eax
lea eax, reloc.MSVCRT.dll_strncpy
push eax
call fcn.0086c6e7
push 0x200
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
push 0xffffffffffffffff
call fcn.00863b17
and eax, 0xffff
cmp dword [esp + esi*4 + 0x90], eax
jne 0x8816e9
mov edx, dword [esp + 0x20]
add edx, 0xfffffffe
cmp esi, edx
jae 0x881704
mov eax, edi
sub eax, 0x400
mov ecx, ebp
sbb ecx, 0
test ecx, ecx
jg 0x8816b0
jl 0x881692
cmp eax, 0x200
jae 0x8816b0
mov ecx, 0x200
sub ecx, eax
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push 0
push edx
mov ebx, eax
call fcn.00892d87
add esp, 0xc
jmp 0x8816b5
mov ebx, 0x200
mov ecx, dword [esp + 0x1c]
push ebx
lea eax, reloc.MSVCRT.dll_strncpy
push eax
call fcn.0086c6e7
push 0x200
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
push 0xffffffffffffffff
call fcn.00863b17
and eax, 0xffff
cmp dword [esp + esi*4 + 0x94], eax
je 0x881700
mov eax, dword [esp + 0x20]
inc esi
cmp esi, eax
jb 0x8815a8
jmp 0x881436
cmp eax, 4
jae 0x8816ed
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
lea edx, [esi + 1]
shl edx, 9
mov esi, ecx
sub esi, edx
sub ebx, 1
sbb eax, 0
and ebx, 0xfffffe00
mov edi, ebx
mov ebx, dword [esp + 0x28]
cmp eax, ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], eax
jg 0x881744
jl 0x881740
cmp edi, dword [esp + 0x24]
jae 0x881744
mov ebx, eax
jmp 0x881748
mov edi, dword [esp + 0x24]
mov eax, esi
cdq
add eax, edi
adc edx, ebx
test edx, edx
jg 0x88143e
jl 0x881761
test eax, eax
jae 0x88143e
xor esi, esi
mov dword [esp + 0x2c], esi
jmp 0x881442