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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44f6ef
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x34544
call fcn.008931e7
mov eax, dword [0x4597d0]
xor eax, esp
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
push ebx
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 esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebx + 0x28]
xor ecx, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x50], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], ecx
cmp byte [eax + 0x3f4c], cl
je 0x85374d
mov dword [eax + reloc.MSVCRT.dll_strncpy], ecx
mov dword [eax + reloc.MSVCRT.dll_strncpy], ecx
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x410], cl
je 0x8537fb
push 0x452388
push esi
call fcn.008798e7
test al, al
jne 0x8537fb
push 0x452384
push esi
call fcn.008798e7
test al, al
jne 0x8537fb
push 0x452380
push esi
call fcn.008798e7
test al, al
jne 0x8537ef
mov eax, esi
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x853797
mov ecx, dword [0x452378]
mov dword [eax], ecx
mov dl, byte [0x45237c]
mov byte [eax + 4], dl
test edi, edi
je 0x8537ef
cmp word [edi], 0
je 0x8537ef
mov eax, edi
add eax, 0xfffffffe
jmp 0x8537c7
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x8537c7
mov ecx, dword [0x45236c]
mov dword [eax], ecx
mov edx, dword [0x452370]
mov dword [eax + 4], edx
mov cx, word [0x452374]
mov word [eax + 8], cx
push esi
call fcn.0087b3c7
push edi
call fcn.0087b3e7
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x398e], 0
je 0x85381a
mov edx, dword [ebp + 0x10]
push 1
add eax, 0x398f
push eax
push edx
push edi
push esi
call fcn.0087b687
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x398b], 0
je 0x85382c
push esi
call fcn.0086e127
mov eax, dword [ebx + 0x28]
mov byte [esp + 0x33d4c], 0
mov ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
mov byte [esp + 0x3414c], 0
test ecx, ecx
jge 0x85385b
mov edx, dword [eax + reloc.MSVCRT.dll_strncpy]
or edx, dword [eax + reloc.MSVCRT.dll_strncpy]
mov dword [esp + 0x40], ecx
jne 0x853863
mov dword [esp + 0x40], 0
mov ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
or ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
je 0x85387a
mov byte [ebx + 0x23cd], 1
jmp 0x853881
and dword [eax + reloc.MSVCRT.dll_strncpy], 0xffffffe7
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x281c], 0
lea ecx, reloc.MSVCRT.dll_strncpy
jne 0x8538aa
add eax, 0x2c1c
cmp word [eax], 0
je 0x8538aa
push 0x400
push ecx
push eax
call fcn.00879447
cmp byte [0x463018], 0
jne 0x8538c6
push 0xd34
call fcn.00883b77
push eax
call fcn.00863237
add esp, 4
mov eax, dword [ebx + 0x28]
movzx edx, byte [eax + 0x397d]
mov ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
push 1
push edx
mov edx, dword [eax + reloc.MSVCRT.dll_strncpy]
push ecx
push edx
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00885c97
lea edx, reloc.MSVCRT.dll_strncpy
mov dword [esp + reloc.MSVCRT.dll_strncpy], 0
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x853907
mov eax, dword [ebx + 0x28]
lea ecx, reloc.MSVCRT.dll_strncpy
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
call fcn.00889a67
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889a67
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889a67
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [esp + 0xc0]
call fcn.008564b7
mov eax, dword [ebx + 0x28]
xor edi, edi
cmp byte [eax + 0x3f4c], 0
lea esi, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 1
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
je 0x8539e6
push 0x40
lea edx, [esp + 0x58]
push edi
push edx
call fcn.00892d87
add esp, 0xc
lea ecx, [esp + 0x94]
mov dword [esp + 0x54], esi
mov dword [esp + 0x78], 2
call fcn.00889a67
lea ecx, [esp + 0x94]
call fcn.00889d37
lea ecx, [esp + 0x94]
call fcn.00889847
lea ecx, [esp + 0x94]
mov dword [esp + 0x68], eax
call fcn.00889b77
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0xc0]
mov dword [esp + 0x74], edx
call fcn.00855d47
mov edi, 1
jmp 0x853bb6
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.008867e7
test eax, eax
jne 0x853bb6
mov esi, dword [esp + 0x34]
nop
mov edx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esp + 0x50]
push edi
push edx
mov edx, dword [esp + 0x28]
lea eax, reloc.MSVCRT.dll_strncpy
push eax
push ecx
push edx
mov ecx, ebx
call fcn.008529f7
test al, al
je 0x853b96
push 0x40
lea eax, [esp + 0x58]
push 0
push eax
call fcn.00892d87
add esp, 0xc
lea edx, reloc.MSVCRT.dll_strncpy
lea ecx, reloc.MSVCRT.dll_strncpy
push edx
mov dword [esp + 0x58], ecx
call fcn.00888877
mov edx, dword [esp + reloc.MSVCRT.dll_strncpy]
movzx eax, al
neg eax
sbb eax, eax
not eax
lea ecx, reloc.MSVCRT.dll_strncpy
and eax, ecx
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov dword [esp + 0x58], eax
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov dword [esp + 0x64], ecx
lea ecx, reloc.MSVCRT.dll_strncpy
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], edx
call fcn.00889b77
mov cx, word [esp + 0xe1e0]
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], eax
mov ax, word [esp + 0xe1dc]
lea edx, reloc.MSVCRT.dll_strncpy
mov word [esp + 0x76], cx
mov ecx, dword [ebx + 0x28]
push edx
mov word [esp + 0x78], ax
mov dword [esp + 0x7c], 2
call fcn.0085f517
test al, al
je 0x853aee
or dword [esp + 0x8c], 1
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
cmp dword [ecx + 0x20], 0
jbe 0x853b38
lea edx, reloc.MSVCRT.dll_strncpy
push edx
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
lea edx, [esp + 0x5c]
push edx
push eax
call fcn.00850f87
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
push 0
push 0
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
mov ecx, dword [ebx + 0x28]
call fcn.0085fbf7
test al, al
jne 0x853b96
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0xc0]
call fcn.00855d47
cmp byte [esp + 0xb92c], 0
jne 0x853b96
mov eax, dword [ebx + 0x28]
inc edi
cmp dword [eax + reloc.MSVCRT.dll_strncpy], 0
je 0x853b76
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov edx, dword [esp + reloc.MSVCRT.dll_strncpy]
add esi, ecx
adc dword [esp + 0x38], edx
jmp 0x853b96
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
cmp dword [esp + 0x38], ecx
jg 0x853b96
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
jl 0x853b90
cmp esi, eax
ja 0x853b96
mov esi, eax
mov dword [esp + 0x38], ecx
lea eax, reloc.MSVCRT.dll_strncpy
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.008867e7
test eax, eax
je 0x853a07
mov dword [esp + 0x34], esi
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov esi, dword [esp + 0x20]
push edi
push ecx
push 0
push 0
push 0
mov ecx, ebx
call fcn.008529f7
cmp dword [esp + reloc.MSVCRT.dll_strncpy], 0
je 0x853c14
mov edx, dword [ebx + 0x28]
cmp byte [edx + 0x3a0f], 0
je 0x853c08
push 0xe3a
call fcn.00883b77
push eax
push esi
call fcn.00863a17
add esp, 8
push 6
mov ecx, 0x46362c
call fcn.008679f7
jmp 0x853c14
push 6
mov ecx, 0x46362c
call fcn.008674a7
lea ecx, [esp + 0xbc]
call fcn.008564f7
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889a67
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889d37
mov eax, dword [ebx + 0x28]
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085a167
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34564], 2
call fcn.0085a167
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x351c], 0
mov byte [esp + 0x34560], 3
je 0x853c86
cmp word [eax + 0x341c], 0
mov byte [esp + 0xa0f4], 1
jne 0x853c8e
mov byte [esp + 0xa0f4], 0
mov edx, dword [eax + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
push edx
mov edx, dword [eax + reloc.MSVCRT.dll_strncpy]
mov eax, dword [eax + reloc.MSVCRT.dll_strncpy]
push ecx
push edx
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00856ab7
mov ecx, dword [ebx + 0x28]
cmp byte [ecx + 0x3989], 0
mov edi, dword [esp + 0x50]
sete dl
movzx eax, dl
push eax
push 0
push edi
push esi
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086bd97
test al, al
je 0x853df0
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
or ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
jne 0x853d05
cmp byte [esp + 0x1ca0d], cl
jne 0x853d5b
cmp dword [eax + reloc.MSVCRT.dll_strncpy], ecx
je 0x853d5b
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086bca7
cmp eax, 0x14
jne 0x853d36
test edx, edx
jne 0x853d36
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086ba87
mov dword [esp + reloc.MSVCRT.dll_strncpy], 1
jmp 0x853dfe
mov eax, dword [ebx + 0x28]
mov edx, dword [eax + reloc.MSVCRT.dll_strncpy]
or edx, dword [eax + reloc.MSVCRT.dll_strncpy]
je 0x853d5b
xor ecx, ecx
mov dword [eax + reloc.MSVCRT.dll_strncpy], ecx
mov dword [eax + reloc.MSVCRT.dll_strncpy], ecx
mov byte [ebx + 0x23cd], cl
push 0
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00858b07
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00856807
test al, al
jne 0x853d85
push edi
push esi
mov ecx, 0x46362c
call fcn.00867ba7
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00859077
push 0
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.008566a7
test al, al
je 0x853daf
push 4
mov ecx, 0x46362c
call fcn.008679f7
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00856717
test al, al
je 0x853dcb
push 3
mov ecx, 0x46362c
call fcn.008679f7
mov al, byte [esp + 0x1ca0d]
mov byte [esp + 0xa0ed], al
test al, al
je 0x853f01
push 0xd3a
call fcn.00883b77
jmp 0x853f06
cmp dword [esp + reloc.MSVCRT.dll_strncpy], 1
jne 0x853ee6
push 0
push edi
push esi
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0xa124], 1
call fcn.0086c387
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x410], 0
je 0x853e8b
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086b957
mov eax, dword [ebx + 0x28]
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
add eax, 0x410
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34568], 4
call fcn.0086c347
push accept
push accept
lea edx, reloc.MSVCRT.dll_strncpy
push edx
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086c877
lea ecx, reloc.MSVCRT.dll_strncpy
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov byte [esp + 0x34560], 3
call fcn.0086bd67
mov eax, dword [ebx + 0x28]
cmp dword [eax + reloc.MSVCRT.dll_strncpy], 0
je 0x853ebb
cmp dword [eax + reloc.MSVCRT.dll_strncpy], 0
je 0x853ebb
push 0xd3a
mov byte [esp + 0xa0f1], 1
call fcn.00883b77
push esi
push eax
push 0xd36
jmp 0x853f0d
cmp byte [esp + 0xa0ed], 0
je 0x853ed8
push 0xd3a
call fcn.00883b77
push esi
push eax
push 0xd36
jmp 0x853f0d
push esi
mov eax, 0x45236b
push eax
push 0xd36
jmp 0x853f0d
push 0
push esi
mov ecx, 0x46362c
call fcn.00867b67
push 9
mov ecx, 0x46362c
call fcn.008679f7
jmp 0x853f1b
mov eax, 0x45236b
push esi
push eax
push 0xd38
call fcn.00883b77
push eax
call fcn.00863237
add esp, 0xc
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
mov eax, dword [eax + reloc.MSVCRT.dll_strncpy]
mov edx, ecx
or edx, eax
je 0x853f3f
push eax
push ecx
lea eax, reloc.MSVCRT.dll_strncpy
push eax
call fcn.00891c37
cmp dword [esp + reloc.MSVCRT.dll_strncpy], 0xffffffff
mov byte [esp + 0x15], 0
setne al
mov byte [esp + 0x18], al
test al, al
je 0x853faf
cmp dword [esp + reloc.MSVCRT.dll_strncpy], 0
jne 0x853f6d
mov ecx, dword [ebx + 0x28]
cmp byte [ecx + 0x3a0f], 0
je 0x853fc7
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00856757
push 0
push 1
lea edx, reloc.MSVCRT.dll_strncpy
push edx
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085a687
lea eax, [esp + 0x15]
push eax
lea ecx, [esp + 0xc0]
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push edx
mov ecx, ebx
call fcn.00851f37
jmp 0x853fc7
push 0
push 0
lea eax, reloc.MSVCRT.dll_strncpy
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085a687
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x3f4c], 0
jne 0x854048
cmp byte [esp + 0x18], 0
je 0x853fe4
cmp byte [esp + 0x1ca0d], 0
jne 0x854048
mov ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
neg ecx
sbb ecx, ecx
and ecx, 0xe0000
add ecx, 0x20000
cmp dword [eax + 0xc], ecx
jbe 0x854048
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push 0
push 2
push edx
push eax
call fcn.00893447
mov edi, eax
lea ecx, [ecx]
mov ecx, dword [ebx + 0x28]
mov eax, dword [ecx + 0xc]
xor esi, esi
cmp esi, edx
jl 0x854048
jg 0x854029
cmp eax, edi
jbe 0x854048
shr dword [ecx + 0xc], 1
mov ecx, dword [ebx + 0x28]
mov eax, dword [ecx + reloc.MSVCRT.dll_strncpy]
neg eax
sbb eax, eax
and eax, 0xe0000
add eax, 0x20000
cmp dword [ecx + 0xc], eax
ja 0x854017
xor esi, esi
cmp dword [esp + reloc.MSVCRT.dll_strncpy], esi
jbe 0x854123
lea edi, [esi + 2]
mov ecx, dword [ebx + 0x28]
cmp byte [ecx + 0x3948], 0
je 0x854078
push esi
lea ecx, [esp + 0xc0]
call fcn.00855de7
cmp dword [eax + 0x24], edi
je 0x85408b
push esi
lea ecx, [esp + 0xc0]
call fcn.00855de7
cmp dword [eax + 0x24], 1
jne 0x85409f
push esi
lea ecx, [esp + 0xc0]
call fcn.00855de7
mov dword [eax + 0x24], 0
push esi
lea ecx, [esp + 0xc0]
call fcn.00855de7
cmp dword [eax + 0x24], edi
je 0x8540c4
push esi
lea ecx, [esp + 0xc0]
call fcn.00855de7
cmp dword [eax + 0x24], 3
jne 0x854115
push esi
lea ecx, [esp + 0xc0]
call fcn.00855de7
mov edx, dword [eax + 8]
add dword [esp + reloc.MSVCRT.dll_strncpy], edx
mov eax, dword [eax + 0xc]
push esi
adc dword [esp + reloc.MSVCRT.dll_strncpy], eax
lea ecx, [esp + 0xc0]
call fcn.00855de7
mov eax, dword [eax]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x8540f7
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
sub eax, edx
lea edx, [eax + ecx]
lea eax, [edx + eax*2 + 0x20]
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
inc esi
cmp esi, dword [esp + reloc.MSVCRT.dll_strncpy]
jb 0x85405a
cmp byte [esp + 0xa0ed], 0
je 0x85413d
mov ecx, dword [ebx + 0x28]
cmp byte [ecx + 0x3972], 0
jne 0x85413d
mov al, 1
jmp 0x85413f
xor al, al
xor edi, edi
push edi
push eax
lea ecx, [esp + 0xc4]
call fcn.00856547
mov edx, dword [ebx + 0x28]
mov eax, dword [edx + 0xc]
lea esi, reloc.MSVCRT.dll_strncpy
push esi
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.008752d7
mov ecx, dword [ebx + 0x28]
mov edx, dword [ecx + reloc.MSVCRT.dll_strncpy]
push edx
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34564], 5
call fcn.00874587
mov eax, dword [esp + 0x18]
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.008753d7
push esi
lea ecx, reloc.MSVCRT.dll_strncpy
mov dword [esp + reloc.MSVCRT.dll_strncpy], ebx
call fcn.0088e497
cmp byte [esp + 0x1ca0d], 0
lea ecx, reloc.MSVCRT.dll_strncpy
lea edx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 6
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x24], ebx
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], edx
mov byte [esp + 0x16], 0
mov byte [esp + 0x17], 0
je 0x854259
mov eax, dword [ebx + 0x28]
cmp word [eax + 0x341c], di
jne 0x8541fb
cmp byte [esp + 0x15], 0
je 0x854219
mov ecx, dword [ebx + reloc.MSVCRT.dll_strncpy]
add dword [esp + reloc.MSVCRT.dll_strncpy], ecx
mov edx, dword [ebx + reloc.MSVCRT.dll_strncpy]
adc dword [esp + reloc.MSVCRT.dll_strncpy], edx
xor eax, eax
jmp 0x85422a
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x16], 1
call fcn.00872e27
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0088fa47
movzx eax, word [esp + 0x1a31e]
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
push edi
lea edx, [eax + ecx + 7]
push edi
push edx
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086c3d7
push 8
lea eax, reloc.MSVCRT.dll_strncpy
push eax
call fcn.00863f57
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x3c], edi
cmp dword [esp + reloc.MSVCRT.dll_strncpy], edi
jbe 0x854fdc
lea ebx, [ebx]
mov ecx, dword [esp + 0x3c]
push ecx
lea ecx, [esp + 0xc0]
call fcn.00855de7
mov esi, eax
mov ecx, 0x10
lea edi, [esp + 0x54]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
test esi, esi
je 0x854fc6
mov edi, eax
lea esp, [esp]
cmp esi, 6
je 0x854a53
cmp esi, 5
je 0x854b7b
cmp esi, 4
je 0x854c0f
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889a67
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889a67
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889a67
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086b957
mov esi, dword [esp + 0x64]
push esi
mov byte [esp + 0x34564], 9
call fcn.0086ccf7
test al, al
jne 0x854341
push esi
call fcn.0086cd27
test al, al
jne 0x854341
push esi
call fcn.0086cd17
mov byte [esp + 0x2c], 0
test al, al
je 0x854346
mov byte [esp + 0x2c], 1
push esi
call fcn.0086ccf7
test al, al
je 0x854360
mov ecx, dword [ebx + 0x28]
cmp dword [ecx + reloc.MSVCRT.dll_strncpy], 1
je 0x854fb2
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x3f4c], 0
jne 0x85438d
movzx edx, byte [eax + 0x397d]
mov esi, dword [esp + 0x28]
push edx
lea eax, reloc.MSVCRT.dll_strncpy
push eax
push edi
push esi
call fcn.0086f127
mov byte [esp + 0x14], al
jmp 0x8543a4
push 1
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x18], 0
call fcn.0086bd27
mov esi, dword [esp + 0x28]
cmp byte [esp + 0x2c], 0
jne 0x8544b4
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x3f4c], 0
jne 0x8544b4
cmp byte [esp + 0x14], 0
je 0x8543de
movzx ecx, byte [eax + 0x3989]
push 0
push ecx
push edi
push esi
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086bd97
cmp dword [esp + reloc.MSVCRT.dll_strncpy], 0xffffffff
jne 0x85448c
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x20]
push edi
push esi
push edx
push eax
mov ecx, 0x46362c
call fcn.00867967
mov ecx, dword [esp + 0x5c]
sub dword [esp + reloc.MSVCRT.dll_strncpy], ecx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
sbb dword [esp + 0xa110], edx
push eax
lea ecx, [esp + 0xc0]
call fcn.00855de7
inc dword [esp + 0x30]
cmp dword [esp + 0x88], 0
mov dword [eax + 0x24], 0
jl 0x854fb2
jg 0x854452
cmp dword [esp + 0x84], 0
jbe 0x854fb2
cmp dword [esp + 0x90], 0
jne 0x854fb2
mov esi, 4
lea ecx, reloc.MSVCRT.dll_strncpy
mov dword [esp + 0x78], esi
mov dword [ebx + reloc.MSVCRT.dll_strncpy], 0
mov byte [esp + 0x34560], 6
call fcn.0086bd67
jmp 0x8542c7
cmp byte [esp + 0x14], 0
je 0x8544d2
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov dword [esp + 0x68], ecx
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889b77
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
jmp 0x8544d2
mov edx, dword [esp + 0x64]
push edx
call fcn.0086cd17
test al, al
jne 0x8544d2
xor eax, eax
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
push edi
push esi
push 1
mov ecx, 0x463638
call fcn.0085f867
lea eax, reloc.MSVCRT.dll_strncpy
push eax
mov eax, dword [ebx + 0x28]
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
lea edx, [esp + 0x5c]
push edx
push eax
call fcn.00850f87
cmp byte [esp + 0x17], 0
je 0x854572
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086bba7
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
push 0
push 0
push ecx
lea ecx, reloc.MSVCRT.dll_strncpy
mov esi, eax
mov edi, edx
call fcn.0086c3d7
push 0
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push edi
push esi
lea eax, reloc.MSVCRT.dll_strncpy
push eax
mov ecx, ebx
call fcn.008514d7
mov ecx, dword [ebx + 0x28]
mov edx, dword [ecx + reloc.MSVCRT.dll_strncpy]
dec edx
push edx
lea eax, reloc.MSVCRT.dll_strncpy
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00875c37
mov esi, dword [esp + 0x28]
mov byte [ebx + 0x1ed4], 1
cmp byte [esp + 0xa0ed], 0
mov byte [esp + 0x17], 0
mov byte [esp + 0x16], 0
je 0x8546ad
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax + reloc.MSVCRT.dll_strncpy]
mov byte [esp + 0x15], 0
test cl, 2
je 0x8545bb
mov esi, dword [eax + reloc.MSVCRT.dll_strncpy]
test esi, esi
jle 0x8545bb
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x8545bb
cdq
idiv esi
test edx, edx
jne 0x8545bb
mov byte [esp + 0x15], 1
test cl, 4
je 0x85460b
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
call fcn.00879887
mov esi, eax
test esi, esi
je 0x854603
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push esi
call fcn.008888b7
test eax, eax
je 0x8545ea
mov byte [esp + 0x15], 1
lea edx, reloc.MSVCRT.dll_strncpy
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x8545f7
jmp 0x85460b
mov byte [esp + 0x33d4c], 0
mov eax, dword [ebx + 0x28]
mov eax, dword [eax + reloc.MSVCRT.dll_strncpy]
mov dword [esp + 0x34], eax
test al, 8
jne 0x85466d
lea ecx, reloc.MSVCRT.dll_strncpy
lea eax, reloc.MSVCRT.dll_strncpy
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x85464a
test dl, dl
je 0x854646
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x85464a
add eax, 2
add ecx, 2
test dl, dl
jne 0x85462a
xor eax, eax
jmp 0x85464f
sbb eax, eax
sbb eax, reloc.MSVCRT.dll_strncpy
test eax, eax
je 0x85466d
test byte [esp + 0x34], 0x10
jne 0x854674
cmp dword [esp + 0x48], 0
jg 0x854674
jl 0x85466d
cmp dword [esp + 0x44], reloc.MSVCRT.dll_strncpy
ja 0x854674
cmp byte [esp + 0x15], 0
je 0x854699
xor esi, esi
cmp dword [esp + 0x1c], esi
jle 0x854699
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00873167
mov byte [ebx + 0x1ed4], 0
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
jmp 0x8546a9
mov ecx, dword [esp + 0x5c]
add dword [esp + 0x44], ecx
mov edx, dword [esp + 0x60]
adc dword [esp + 0x48], edx
mov esi, dword [esp + 0x28]
xor edi, edi
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x227b]
mov byte [esp + eax + 0x3414c], cl
inc eax
test cl, cl
jne 0x8546b7
mov eax, dword [esp + 0x78]
cmp eax, 2
jne 0x8546db
push esi
push 0xd3c
jmp 0x8546e6
cmp eax, 3
jne 0x8546f4
push esi
push 0xd3e
call fcn.00883b77
push eax
call fcn.00863237
add esp, 8
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
mov edx, dword [ebx + 0x28]
mov esi, dword [esp + 0x64]
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
xor ecx, ecx
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov dword [esp + reloc.MSVCRT.dll_strncpy], 0x74
mov dword [esp + reloc.MSVCRT.dll_strncpy], edi
mov dword [esp + reloc.MSVCRT.dll_strncpy], edi
mov word [esp + 0x7a14], cx
cmp word [edx + 0x341c], di
je 0x854787
push esi
call fcn.0086ccf7
test al, al
jne 0x854787
push esi
call fcn.0086cd27
test al, al
jne 0x854787
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov edx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov eax, 0x404
or word [esp + 0x7a14], ax
mov dword [esp + reloc.MSVCRT.dll_strncpy], ecx
mov dword [esp + reloc.MSVCRT.dll_strncpy], edx
mov edx, dword [ebx + 0x28]
mov byte [esp + 0x7a2c], 0x1d
mov eax, dword [edx + 0xc]
cmp eax, 0x80000
ja 0x8547c8
je 0x8547c1
cmp eax, 0x10000
je 0x8547dd
cmp eax, 0x20000
je 0x8547ba
cmp eax, 0x40000
jne 0x8547dd
mov eax, 0x40
jmp 0x8547f4
mov eax, 0x20
jmp 0x8547f4
mov eax, 0x60
jmp 0x8547f4
cmp eax, 0x100000
je 0x8547ef
cmp eax, 0x200000
je 0x8547e8
cmp eax, 0x400000
je 0x8547e1
xor eax, eax
jmp 0x8547f4
mov eax, 0xc0
jmp 0x8547f4
mov eax, 0xa0
jmp 0x8547f4
mov eax, 0x80
mov cx, word [esp + 0x7a14]
or cx, ax
cmp byte [ebx + 0x1ed4], 0
je 0x85480c
or cx, 0x10
mov eax, 0x8000
or cx, ax
cmp byte [esp + 0x14], 0
mov word [esp + 0x7a14], cx
mov ecx, dword [esp + 0x68]
mov dword [esp + reloc.MSVCRT.dll_strncpy], ecx
je 0x85486f
mov ecx, 9
lea esi, reloc.MSVCRT.dll_strncpy
lea edi, reloc.MSVCRT.dll_strncpy
rep movsd dword es:[edi], dword [esi]
mov ecx, 9
lea esi, reloc.MSVCRT.dll_strncpy
lea edi, reloc.MSVCRT.dll_strncpy
rep movsd dword es:[edi], dword [esi]
mov ecx, 9
lea esi, reloc.MSVCRT.dll_strncpy
lea edi, reloc.MSVCRT.dll_strncpy
rep movsd dword es:[edi], dword [esi]
jmp 0x854884
mov dword [esp + reloc.MSVCRT.dll_strncpy], edi
mov dword [esp + reloc.MSVCRT.dll_strncpy], edi
mov dword [esp + reloc.MSVCRT.dll_strncpy], edi
mov eax, dword [esp + 0x64]
mov ecx, 9
lea esi, reloc.MSVCRT.dll_strncpy
lea edi, reloc.MSVCRT.dll_strncpy
rep movsd dword es:[edi], dword [esi]
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov cl, byte [edx + 0x392c]
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
add cl, 0x30
mov byte [esp + 0x7a2d], cl
mov ecx, eax
sar ecx, 0x1f
mov dword [esp + reloc.MSVCRT.dll_strncpy], 0
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
test eax, eax
jne 0x8548eb
cmp dword [esp + reloc.MSVCRT.dll_strncpy], 0x80000000
ja 0x8548eb
cmp byte [edx + 0x3f4c], al
je 0x8548f8
mov eax, 0x100
or word [esp + 0x7a14], ax
cmp word [esp + 0x7e3c], 0
jne 0x854934
cmp byte [edx + 0x281c], 0
lea eax, reloc.MSVCRT.dll_strncpy
je 0x85491c
push eax
call fcn.00888847
test al, al
je 0x854934
mov eax, dword [ebx + 0x28]
add eax, 0x2c1c
cmp word [eax], 0
je 0x854941
push eax
call fcn.00888877
test al, al
jne 0x854941
mov ecx, 0x200
or word [esp + 0x7a14], cx
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00857ba7
inc dword [esp + 0x1c]
lea edx, reloc.MSVCRT.dll_strncpy
push edx
lea eax, reloc.MSVCRT.dll_strncpy
lea esi, reloc.MSVCRT.dll_strncpy
push eax
mov ecx, esi
mov dword [ebx + reloc.MSVCRT.dll_strncpy], 0xffffffff
mov byte [esp + 0x7a28], 2
call fcn.0087ebf7
xor edi, edi
cmp byte [esp + 0x2c], 0
mov byte [ebx + 0x1f28], 1
mov dword [ebx + reloc.MSVCRT.dll_strncpy], edi
mov dword [ebx + reloc.MSVCRT.dll_strncpy], edi
jne 0x854e2f
mov ecx, dword [ebx + 0x28]
cmp byte [ecx + 0x3f4c], 0
jne 0x854e2f
mov ecx, esi
call fcn.0087eb97
test al, al
jne 0x854e2f
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
mov ecx, 0x46362c
call fcn.00867967
mov eax, dword [esp + 0x5c]
sub dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x3c]
sbb dword [esp + 0xa110], ecx
push edx
lea ecx, [esp + 0xc0]
call fcn.00855de7
inc dword [esp + 0x30]
cmp dword [esp + 0x88], edi
mov dword [eax + 0x24], edi
jl 0x854fb2
jg 0x854a27
cmp dword [esp + 0x84], edi
jbe 0x854fb2
mov esi, 4
lea ecx, reloc.MSVCRT.dll_strncpy
mov dword [esp + 0x78], esi
mov dword [ebx + reloc.MSVCRT.dll_strncpy], edi
mov byte [esp + 0x34560], 6
call fcn.0086bd67
mov edi, dword [esp + 0x24]
jmp 0x8542c7
lea eax, reloc.MSVCRT.dll_strncpy
push eax
lea ecx, [esp + 0x98]
call fcn.00885c47
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 7
call fcn.00873167
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
push 0
push ecx
push edx
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086c3d7
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085af77
mov al, byte [esp + 0x1ca14]
cmp al, byte [esp + 0xa0f4]
je 0x854b12
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
cmp eax, 0x74
je 0x854b09
cmp eax, 0x7a
jne 0x854b62
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00857737
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086bba7
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
sub ecx, eax
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
sbb eax, edx
push eax
push ecx
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
jmp 0x854b56
lea ecx, reloc.MSVCRT.dll_strncpy
jmp 0x854ad1
mov edx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
push 0
push edx
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086c3d7
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
sub ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov edx, dword [esp + reloc.MSVCRT.dll_strncpy]
sbb edx, dword [esp + 0x1ca00]
lea eax, reloc.MSVCRT.dll_strncpy
push edx
push ecx
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086c877
lea ecx, [esp + 0x94]
mov byte [esp + 0x34560], 6
call fcn.00885c77
jmp 0x854fc6
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
lea ecx, [esp + 0x98]
call fcn.00885c47
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
push 0
push edx
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x3456c], 8
call fcn.0086c3d7
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085af77
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
call fcn.00888b87
push eax
push 0xda6
call fcn.00883b77
push eax
call fcn.00863237
add esp, 8
cmp dword [esp + 0x1c], 0
jne 0x854bf1
mov dword [esp + 0x1c], 1
call fcn.008891c7
lea ecx, [esp + 0x94]
mov byte [esp + 0x34560], 6
call fcn.00885c77
jmp 0x854fc6
cmp byte [esp + 0x1ca0d], 0
je 0x854c84
cmp byte [esp + 0x16], 0
jne 0x854c84
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push 0
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push eax
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push edx
mov ecx, ebx
call fcn.008514d7
mov eax, dword [esp + 0x90]
push eax
push 0
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push edx
lea eax, reloc.MSVCRT.dll_strncpy
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
mov ecx, ebx
call fcn.00852eb7
call fcn.008891c7
jmp 0x854fc6
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00873167
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
push 0
push edx
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086c3d7
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085af77
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
test eax, eax
je 0x854cce
push eax
call fcn.008925c0
add esp, 4
mov ecx, 0x33a
lea esi, reloc.MSVCRT.dll_strncpy
lea edi, reloc.MSVCRT.dll_strncpy
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
xor eax, eax
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov dword [esp + reloc.MSVCRT.dll_strncpy], ecx
cmp ecx, eax
jbe 0x854d46
mov esi, ecx
cmp ecx, 0x20
ja 0x854d11
mov esi, 0x20
push esi
push 0
call fcn.0089264e
add esp, 8
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
test eax, eax
jne 0x854d38
mov ecx, 0x46362c
call fcn.00867a17
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov dword [esp + reloc.MSVCRT.dll_strncpy], esi
test ecx, ecx
je 0x854d5c
push ecx
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
push ecx
push eax
call fcn.00892a17
add esp, 0xc
mov eax, dword [esp + 0x90]
mov edx, 0xfff7
and word [esp + 0x7a14], dx
test eax, eax
je 0x854d84
push eax
lea eax, reloc.MSVCRT.dll_strncpy
push eax
mov ecx, ebx
call fcn.00851347
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085ab37
test al, al
jne 0x854daf
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085ab57
test al, al
jne 0x854daf
mov cl, byte [esp + 0x1ca0d]
mov byte [esp + 0x17], cl
cmp byte [esp + 0x17], 0
je 0x854df5
mov edx, dword [ebx + 0x28]
mov eax, dword [edx + 0xc]
push eax
mov ecx, ebx
call fcn.00850f17
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
and ecx, 0xe0
cmp eax, ecx
jbe 0x854df5
mov eax, 0xff1f
and word [esp + 0x7a14], ax
mov ecx, dword [edx + 0xc]
push ecx
mov ecx, ebx
call fcn.00850f17
or word [esp + 0x7a14], ax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00857ba7
push 0
push 0x74
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00857737
lea edx, reloc.MSVCRT.dll_strncpy
push edx
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.008567b7
call fcn.008891c7
jmp 0x854fc6
test byte [esp + 0x8c], 1
jne 0x854e49
mov eax, dword [ebx + 0x28]
mov byte [esp + 0x14], 0
cmp dword [eax + reloc.MSVCRT.dll_strncpy], edi
jne 0x854e4e
mov byte [esp + 0x14], 1
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
push ecx
call fcn.0086ccf7
test al, al
je 0x854e6c
mov edx, 0xe0
or word [esp + 0x7a14], dx
cmp byte [esp + 0x2c], 0
jne 0x854e7a
cmp byte [esp + 0x14], 0
je 0x854e9d
mov eax, dword [ebx + 0x28]
mov byte [esp + 0x7a2d], 0x30
cmp word [eax + 0x341c], di
jne 0x854e96
mov byte [esp + 0x7a2c], 0x14
cmp byte [esp + 0x14], 0
jne 0x854ec8
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085d897
xor ecx, ecx
add eax, dword [esp + reloc.MSVCRT.dll_strncpy]
adc ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov dword [esp + 0x38], ecx
js 0x854ed4
jg 0x854ec8
cmp eax, 0x8000
jbe 0x854ed4
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00873167
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
push edx
push 1
push eax
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push edx
lea eax, reloc.MSVCRT.dll_strncpy
push eax
mov ecx, ebx
call fcn.00852cb7
cmp byte [esp + 0x2c], 0
jne 0x854f65
cmp byte [esp + 0x14], 0
je 0x854f28
push edi
mov ecx, ebx
call fcn.00852d77
push esi
call fcn.00851ca7
push edi
mov ecx, ebx
call fcn.00852697
mov dword [ebx + 8], edi
mov dword [ebx + 4], edi
jmp 0x854f65
mov eax, dword [ebx + 0x28]
mov edx, dword [eax + reloc.MSVCRT.dll_strncpy]
lea ecx, reloc.MSVCRT.dll_strncpy
movzx eax, byte [ebx + 0x1ed4]
push ecx
dec edx
push edx
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.008774a7
cmp dword [esp + 0x1c], edi
jle 0x854f65
cmp byte [esp + 0xa0ed], 0
je 0x854f6f
mov byte [ebx + 0x1ed4], 1
cmp byte [esp + 0xa0ed], 0
jne 0x854f7b
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00873167
call fcn.008891c7
mov ecx, dword [ebx + 0x28]
cmp byte [ecx + 0x3938], 0
mov esi, 0x45236b
jne 0x854f96
mov esi, 0x452364
push 0xd18
call fcn.00883b77
push eax
push esi
push 0x45235c
call fcn.00863237
add esp, 0xc
mov dword [ebx + 0x20], edi
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 6
call fcn.0086bd67
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
cmp eax, dword [esp + reloc.MSVCRT.dll_strncpy]
jb 0x854287
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00873167
mov esi, dword [esp + 0x30]
test esi, esi
jle 0x855027
push 6
mov ecx, 0x46362c
call fcn.008674a7
cmp esi, 1
jle 0x855008
push 0xd54
jmp 0x85500d
push 0xd56
call fcn.00883b77
push eax
push esi
push 0xd52
call fcn.00883b77
push eax
call fcn.00863237
add esp, 0xc
cmp dword [esp + 0x1c], 0
jne 0x855086
push 0xd58
call fcn.00883b77
push eax
call fcn.00863237
add esp, 4
push 0xa
mov ecx, 0x46362c
call fcn.008674a7
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086ba87
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 5
call fcn.0088e577
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 3
call fcn.00872d47
jmp 0x85573a
cmp byte [esp + 0x18], 0
lea ecx, reloc.MSVCRT.dll_strncpy
je 0x8550a3
lea edx, reloc.MSVCRT.dll_strncpy
push edx
call fcn.00859897
jmp 0x8550af
mov eax, dword [esp + 0x40]
push 0
push eax
call fcn.00859ff7
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 5
call fcn.0088e577
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 3
call fcn.00872d47
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push 0
mov ecx, 0x463638
call fcn.0085f867
mov eax, dword [ebx + 0x28]
lea esi, reloc.MSVCRT.dll_strncpy
mov al, byte [esi]
test al, al
je 0x85512c
xor ecx, ecx
cmp al, 0x40
sete cl
lea edx, reloc.MSVCRT.dll_strncpy
dec ecx
and ecx, esi
mov eax, ecx
push eax
push edx
call fcn.008892f7
test al, al
jne 0x85512c
push 2
mov ecx, 0x46362c
call fcn.008679f7
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x3944], 0
je 0x85524c
push 0xd4e
call fcn.00883b77
push eax
call fcn.00863237
add esp, 4
cmp dword [esp + reloc.MSVCRT.dll_strncpy], 0
mov dword [esp + 0x18], 0
jbe 0x85524c
mov edi, edi
mov ecx, dword [esp + 0x18]
push ecx
lea ecx, [esp + 0xc0]
call fcn.00855de7
mov esi, eax
mov ecx, 0x10
lea edi, [esp + 0x54]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x78]
cmp eax, 2
je 0x855197
cmp eax, 3
jne 0x855236
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889a67
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889a67
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889a67
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
push 0
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push edi
push esi
call fcn.0086f127
test al, al
je 0x855236
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.00889b77
cmp eax, dword [esp + 0x6c]
jne 0x855236
cmp edx, dword [esp + 0x70]
jne 0x855236
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
cmp eax, dword [esp + 0x5c]
jne 0x855236
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
cmp ecx, dword [esp + 0x60]
jne 0x855236
mov edx, dword [esp + 0x64]
and edx, 0xffffffdf
push edx
push edi
push esi
call fcn.0086cd87
test al, al
jne 0x855236
push esi
push 0xe60
call fcn.00883b77
push eax
mov eax, dword [esp + 0x28]
push eax
call fcn.00863a17
add esp, 0xc
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + reloc.MSVCRT.dll_strncpy]
jb 0x855167
cmp byte [esp + 0xa119], 0
lea edi, reloc.MSVCRT.dll_strncpy
jne 0x855264
lea edi, reloc.MSVCRT.dll_strncpy
cmp word [esp + 0xa51a], 0
lea esi, reloc.MSVCRT.dll_strncpy
jne 0x85527d
lea esi, reloc.MSVCRT.dll_strncpy
mov eax, dword [ebx + 0x28]
mov edx, edi
add eax, 0x4f92
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
test cl, cl
jne 0x855287
mov eax, dword [ebx + 0x28]
mov edx, esi
add eax, 0x5392
movzx ecx, word [edx]
mov word [eax], cx
add edx, 2
add eax, 2
test cx, cx
jne 0x85529b
mov ecx, dword [ebx + 0x28]
cmp byte [ecx + 0x3a72], 0
je 0x8553f7
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.008627e7
mov eax, dword [ebx + 0x28]
mov byte [esp + 0x1205e], 1
mov dword [esp + reloc.MSVCRT.dll_strncpy], 1
movzx edx, byte [eax + 0x3938]
mov byte [esp + 0x11f24], dl
movzx ecx, byte [eax + 0x3947]
mov byte [esp + 0x11f33], cl
movzx edx, byte [eax + 0x3971]
mov byte [esp + 0x11f5d], dl
movzx ecx, byte [eax + 0x3989]
mov edx, 0x54
mov word [esp + 0x1294d], dx
add eax, 0x341c
lea edx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 0xa
mov byte [esp + 0x11f75], cl
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x855339
push esi
push edi
call fcn.0086cc77
test al, al
jne 0x85538d
lea esp, [esp]
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x3b34], 0x2e
je 0x8553e3
push esi
push edi
call fcn.00891637
test al, al
sete al
mov byte [esp + 0x16], al
cmp al, 1
je 0x855386
push esi
push edi
call fcn.0086cc77
test al, al
je 0x855357
cmp byte [esp + 0x16], 0
jne 0x8553e3
push esi
push edi
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0085f687
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
push 0x452358
call fcn.00888f47
mov esi, dword [0x463630]
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
lea ecx, [ebx + 0x30]
call fcn.0086af37
cmp esi, dword [0x463630]
je 0x8553e3
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 3
call fcn.008623b7
jmp 0x85573a
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 3
call fcn.008623b7
mov edx, dword [ebp + 0x14]
cmp byte [edx], 0x4d
je 0x85540f
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x398a], 0
je 0x8556bb
push 1
push 0
lea ecx, [esp + 0xc4]
call fcn.00856547
mov esi, dword [esp + reloc.MSVCRT.dll_strncpy]
or edi, reloc.MSVCRT.dll_strncpy
lea ecx, reloc.MSVCRT.dll_strncpy
dec esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], edi
call fcn.0086e417
mov ecx, dword [ebx + 0x28]
cmp byte [ecx + 0x398d], 0
mov byte [esp + 0x34560], 0xb
mov byte [esp + 0x16], 0
je 0x855496
call fcn.0085f617
test al, al
jne 0x855496
cmp dword [esp + 0x30], 0
jne 0x855496
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x3948], 0
jne 0x855496
cmp byte [eax + 0x3949], 0
jne 0x855496
mov edi, dword [esp + reloc.MSVCRT.dll_strncpy]
mov byte [esp + 0x16], 1
xor esi, esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], 1
mov dword [esp + 0x18], esi
cmp esi, edi
je 0x8556a7
jmp 0x8554a7
mov ecx, dword [esp + 0x18]
push ecx
lea ecx, [esp + 0xc0]
call fcn.00855de7
mov esi, eax
mov ecx, 0x10
lea edi, [esp + 0x54]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x78]
cmp eax, 2
je 0x8554d7
cmp eax, 3
jne 0x855691
mov edx, dword [esp + 0x64]
push edx
call fcn.0086cd27
test al, al
jne 0x855691
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x398d], 0
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
jne 0x855512
mov ecx, dword [esp + 0x64]
push ecx
call fcn.0086cd47
test al, al
jne 0x855512
push edi
push esi
call fcn.0086d9e7
mov edx, dword [ebp + 0x14]
cmp byte [edx + 1], 0x46
mov eax, dword [esp + 0x64]
push eax
setne byte [esp + 0x19]
call fcn.0086ccf7
mov byte [esp + 0x17], al
test al, al
je 0x8555ce
cmp byte [esp + 0x15], 0
je 0x855691
mov eax, dword [ebx + 0x28]
mov cl, byte [eax + 0x398d]
test cl, cl
je 0x855586
cmp byte [esp + 0x16], 0
je 0x855586
push edi
push esi
call fcn.0086cc77
test al, al
je 0x855691
push edi
push esi
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086e447
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086dd27
mov byte [esp + 0x14], 1
jmp 0x855617
cmp byte [eax + 0x398c], 0
je 0x8555b5
push edi
push esi
call fcn.0086d107
test al, al
je 0x8555a3
push edi
push esi
call fcn.0086e077
jmp 0x855613
push 0x91
mov byte [esp + 0x18], 0
call dword [fcn.004521a0]
jmp 0x855617
test cl, cl
je 0x8555c5
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086dd27
push edi
push esi
call fcn.0086cff7
jmp 0x855613
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x398d], 0
push edi
push esi
je 0x8555fe
call fcn.0086cc77
test al, al
je 0x855691
push edi
push esi
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0086e447
mov byte [esp + 0x14], 1
jmp 0x855617
cmp byte [eax + 0x398c], 0
je 0x85560e
call fcn.0086de57
jmp 0x855613
call fcn.0086cfb7
mov byte [esp + 0x14], al
xor ecx, ecx
cmp byte [esp + 0x17], cl
push esi
setne cl
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
call fcn.00883b77
push eax
call fcn.00863237
add esp, 8
cmp byte [esp + 0x14], 0
je 0x855653
push 0xd4a
call fcn.00883b77
push eax
call fcn.00863237
add esp, 4
jmp 0x855691
push 0xd4c
call fcn.00883b77
push eax
call fcn.00863237
add esp, 4
push esi
push 0xe78
call fcn.00883b77
push eax
lea edx, reloc.MSVCRT.dll_strncpy
push edx
call fcn.00863a17
add esp, 0xc
call fcn.00863037
mov ecx, 0x46362c
call fcn.008675f7
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x24]
jne 0x8554a7
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 3
call fcn.0086e427
test byte [esp + 0x79fc], 1
je 0x85571b
mov eax, dword [ebx + 0x28]
cmp dword [eax + reloc.MSVCRT.dll_strncpy], 0
je 0x85571b
lea ecx, reloc.MSVCRT.dll_strncpy
call fcn.0087f527
mov eax, dword [ebx + 0x28]
lea ecx, reloc.MSVCRT.dll_strncpy
push ecx
lea edx, reloc.MSVCRT.dll_strncpy
push edx
push eax
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x3456c], 0xc
call fcn.00880767
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 3
call fcn.0087f4b7
jmp 0x85573a
mov ecx, dword [ebx + 0x28]
cmp byte [ecx + 0x393a], 0
jne 0x85573a
push 0xd1a
call fcn.00883b77
push eax
call fcn.00863237
add esp, 4
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 2
call fcn.00851df7
lea ecx, reloc.MSVCRT.dll_strncpy
mov byte [esp + 0x34560], 1
call fcn.00851df7
mov eax, dword [esp + reloc.MSVCRT.dll_strncpy]
test eax, eax
je 0x855776
push eax
call fcn.008925c0
add esp, 4
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x85578a
push eax
call fcn.008925c0
add esp, 4
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x85579e
push eax
call fcn.008925c0
add esp, 4
lea ecx, reloc.MSVCRT.dll_strncpy
mov dword [esp + reloc.MSVCRT.dll_strncpy], 0xffffffff
call fcn.00885f47
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
xor ecx, esp
call fcn.00892869
mov esp, ebp
pop ebp
ret 0x10