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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4b236e
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
push ebx
push esi
push edi
mov eax, dword [0x4e3a40]
xor eax, esp
push eax
lea eax, [esp + 0xd0]
mov dword fs:[0], eax
call fcn.007f9145
xor ecx, ecx
xor ebx, ebx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x7cb486
push 0x80004005
call fcn.00792ac8
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x6c], eax
push 0x172
push 0x31d
push 0x30
push 0x72
lea ecx, [esp + 0xcc]
mov dword [esp + 0xe8], ebx
mov esi, dword [int.004b46e4]
push ecx
mov dword [esp + 0x74], ebx
call esi
mov edx, dword [ebp + 8]
push 0x172
push 0x31e
push 0x30
push 0x72
add edx, 0xcc
push edx
call esi
mov edi, dword [0x4e9434]
mov edx, dword [0x4e9438]
cmp edi, edx
jbe 0x7cb4f4
call fcn.0081e954
mov edx, dword [0x4e9438]
mov dword [esp + 0x68], edi
cmp dword [0x4e9434], edx
mov esi, edx
jbe 0x7cb50d
call fcn.0081e954
mov edx, dword [0x4e9438]
cmp edi, esi
je 0x7cc22e
cmp edi, edx
jb 0x7cb524
call fcn.0081e954
mov edx, dword [0x4e9438]
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
add eax, 8
cmp ecx, ebx
jne 0x7cb534
xor esi, esi
jmp 0x7cb53c
mov esi, dword [eax + 8]
sub esi, ecx
sar esi, 2
cmp edi, edx
jb 0x7cb545
call fcn.0081e954
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push esi
push ecx
lea edx, [esp + 0x74]
push 0x4c61e8
push edx
call fcn.00792c58
push 0x178
call fcn.007f7ca4
mov esi, eax
add esp, 0x14
mov dword [esp + 0x14], esi
cmp esi, ebx
mov byte [esp + 0xd8], 1
je 0x7cb5a0
push esi
call fcn.007ed658
mov edi, esi
mov dword [esi], 0x4cba2c
mov dword [esi + reloc.MSVCRT.dll_strncpy], ebx
mov byte [esi + 0x170], bl
mov dword [esi + reloc.MSVCRT.dll_strncpy], ebx
mov dword [esp + 0x1c], edi
jmp 0x7cb5a6
mov dword [esp + 0x1c], ebx
mov edi, ebx
mov esi, dword [ebp + 8]
add esi, 0x104
mov byte [esp + 0xd8], bl
mov eax, dword [esi + 4]
cmp eax, ebx
mov dword [esp + 0x5c], edi
jne 0x7cb5c5
xor edx, edx
jmp 0x7cb5cd
mov edx, dword [esi + 8]
sub edx, eax
sar edx, 2
cmp eax, ebx
je 0x7cb5ea
mov ecx, dword [esi + 0xc]
sub ecx, eax
sar ecx, 2
cmp edx, ecx
jae 0x7cb5ea
mov eax, dword [esi + 8]
mov dword [eax], edi
add eax, 4
mov dword [esi + 8], eax
jmp 0x7cb614
mov ecx, dword [esi + 8]
cmp eax, ecx
mov dword [esp + 0x14], ecx
jbe 0x7cb5fa
call fcn.0081e954
mov eax, dword [esp + 0x14]
push eax
push esi
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0xc0]
push edx
mov eax, esi
call fcn.007c3ee8
mov eax, dword [esp + 0x60]
mov ecx, dword [ebp + 8]
add eax, 0x3e8
push eax
push ecx
lea edx, [esp + 0xc4]
push edx
push 0x40000c05
mov ecx, edi
call fcn.0080498d
mov eax, dword [edi + 0x20]
push 4
push ebx
push 0x1036
push eax
call dword [fcn.004b462c]
cmp dword [edi + reloc.MSVCRT.dll_strncpy], ebx
je 0x7cb679
mov ecx, edi
call fcn.0080b153
test eax, eax
je 0x7cb679
mov ecx, edi
call fcn.0080b153
cmp eax, ebx
jne 0x7cb66a
xor eax, eax
jmp 0x7cb66d
mov eax, dword [eax + 0x20]
push eax
lea ecx, [edi + 0xc8]
call fcn.007fd511
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x20]
lea esi, [eax + 0x54]
call fcn.007d6868
mov esi, dword [esp + 0x1c]
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x7c]
push ecx
push edx
call dword [fcn.004b4700]
mov eax, dword [esp + 0x88]
sub eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
sub ecx, dword [esp + 0x7c]
mov edx, dword [esi + 0x20]
mov edi, dword [fcn.004b4780]
push 0x26
add eax, 1
push eax
push ecx
push ebx
push ebx
push ebx
push edx
call edi
mov eax, dword [esp + 0x88]
sub eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
sub ecx, dword [esp + 0x7c]
mov edx, dword [esi + 0x20]
push 0x26
push eax
push ecx
push ebx
push ebx
push ebx
push edx
call edi
mov eax, dword [esi + 0x20]
push ebx
push ebx
push 0x104e
push eax
call dword [fcn.004b462c]
push eax
call fcn.007fc78a
test eax, eax
mov edi, esi
je 0x7cb733
mov ecx, dword [edi + 0x20]
mov esi, dword [fcn.004b462c]
push ebx
push ebx
push 0x104e
push ecx
call esi
push eax
call fcn.007fc78a
mov edx, dword [eax + 0x20]
push ebx
push ebx
push 0x401
push edx
call esi
push 1
mov ecx, edi
call fcn.0080c4d8
push 0xa6
lea esi, [esp + 0xa8]
call fcn.00795fd8
add esp, 4
push 0xffffffffffffffff
push 0x168
mov byte [esp + 0xe0], 2
mov eax, dword [eax]
push ebx
push eax
push ebx
mov ecx, edi
call fcn.00804cd0
mov byte [esp + 0xd8], bl
mov eax, dword [esp + 0xa4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cb795
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x1c8
lea esi, [esp + 0xa4]
call fcn.00795fd8
add esp, 4
push 0xffffffffffffffff
push 0x64
mov byte [esp + 0xe0], 3
mov eax, dword [eax]
push ebx
push eax
push 1
mov ecx, edi
call fcn.00804cd0
mov byte [esp + 0xd8], bl
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cb7ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0xa7
lea esi, [esp + 0x94]
call fcn.00795fd8
add esp, 4
push 0xffffffffffffffff
push 0x5a
mov byte [esp + 0xe0], 4
mov eax, dword [eax]
push ebx
push eax
push 2
mov ecx, edi
call fcn.00804cd0
mov byte [esp + 0xd8], bl
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cb843
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x107
lea esi, [esp + 0x9c]
call fcn.00795fd8
add esp, 4
push 0xffffffffffffffff
push 0x6e
mov byte [esp + 0xe0], 5
mov eax, dword [eax]
push ebx
push eax
push 3
mov ecx, edi
call fcn.00804cd0
mov byte [esp + 0xd8], bl
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cb89a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x68]
cmp esi, dword [0x4e9438]
jb 0x7cb8ab
call fcn.0081e954
mov eax, dword [esi]
mov esi, dword [eax + 0xc]
add eax, 8
cmp esi, dword [eax + 8]
mov dword [esp + 0x5c], eax
jbe 0x7cb8c1
call fcn.0081e954
mov dword [esp + 0x78], esi
mov ecx, dword [0x4e9438]
cmp dword [esp + 0x68], ecx
jb 0x7cb8d6
call fcn.0081e954
mov edx, dword [esp + 0x68]
mov esi, dword [edx]
mov edi, dword [esi + 0x10]
add esi, 8
cmp dword [esi + 4], edi
jbe 0x7cb8ec
call fcn.0081e954
cmp dword [esp + 0x5c], esi
je 0x7cb8f7
call fcn.0081e954
cmp dword [esp + 0x78], edi
je 0x7cc1d6
push 0x178
call fcn.007f7ca4
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0xd8], 6
je 0x7cb92a
push eax
call fcn.007eed78
mov dword [esp + 0x18], eax
jmp 0x7cb92e
mov dword [esp + 0x18], ebx
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0xdc], bl
call fcn.007aab08
mov byte [esp + 0xd8], 7
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x5c]
cmp esi, dword [ecx + 8]
jb 0x7cb959
call fcn.0081e954
mov eax, dword [esi]
mov edx, dword [esp + 0x20]
add eax, 0x10
mov eax, dword [eax]
add edx, 0xfffffff0
lea esi, [eax - 0x10]
cmp esi, edx
mov dword [esp + 0x14], edx
je 0x7cba1c
cmp dword [edx + 0xc], ebx
jl 0x7cba0e
mov ecx, dword [esi]
cmp ecx, dword [edx]
jne 0x7cba0e
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], ebx
lea ecx, [esi + 0xc]
jl 0x7cb9a9
cmp eax, dword [esi]
jne 0x7cb9a9
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x7cb9e4
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov edi, eax
cmp edi, ebx
je 0x7cc21f
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [edi + 0x10]
push eax
call fcn.0081ea5a
add esp, 0x10
mov eax, dword [esp + 0x14]
add eax, 0xc
or ecx, reloc.MSVCRT.dll_strncpy
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x7cba05
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0x10
mov dword [esp + 0x20], edi
jmp 0x7cba1c
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x28]
call fcn.00792db8
mov edx, dword [esp + 0x24]
cmp dword [edx - 0xc], ebx
mov esi, dword [edx - 0x10]
lea eax, [edx - 0x10]
je 0x7cba6e
cmp dword [eax + 0xc], ebx
lea ecx, [eax + 0xc]
jge 0x7cba48
cmp dword [edx - 8], ebx
jl 0x7cc224
mov dword [edx - 0xc], ebx
mov ecx, dword [esp + 0x24]
mov word [ecx], bx
jmp 0x7cba6e
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cba5e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x20]
call fcn.007ad6b8
cmp al, bl
je 0x7cc0eb
cmp dword [esp + 0x54], ebx
je 0x7cc0af
mov ecx, dword [esp + 0x2c]
push 0x4c61f8
push ecx
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x34]
call fcn.007ae168
cmp eax, ebx
je 0x7cc0af
xor ecx, ecx
cmp dword [esp + 0x54], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ebx
je 0x7cc081
push 0x4c620c
push ebx
lea ecx, [esp + 0x28]
push ecx
mov edx, eax
call fcn.007ae168
cmp eax, ebx
je 0x7cc07d
cmp dword [esp + 0x54], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ebx
je 0x7cbfff
push 0x4c6218
push ebx
lea edx, [esp + 0x28]
push edx
mov edx, eax
call fcn.007ae168
cmp eax, ebx
je 0x7cbbc9
mov esi, dword [esp + 0x50]
mov ecx, eax
mov edx, eax
and edx, 0xffff
sar ecx, 0x10
mov ecx, dword [esi + ecx*4]
shl edx, 5
mov edx, dword [ecx + edx + 0x10]
mov dword [esp + 0x28], edx
lea esi, [esp + 0xb0]
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], 1
call fcn.007ab178
mov ecx, dword [esp + 0x18]
mov byte [esp + 0xd8], 8
mov edx, dword [eax]
add ecx, 0x38
cmp edx, ebx
jne 0x7cbb83
xor eax, eax
jmp 0x7cbb97
mov eax, edx
lea edi, [eax + 2]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x7cbb88
sub eax, edi
sar eax, 1
push eax
push edx
call fcn.00792db8
mov byte [esp + 0xd8], 7
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cbbc9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x54], ebx
je 0x7cbfff
mov ecx, dword [esp + 0x2c]
push 0x4c6224
push ecx
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x34]
call fcn.007ae168
cmp eax, ebx
je 0x7cbc99
mov esi, dword [esp + 0x50]
mov ecx, eax
mov edx, eax
and edx, 0xffff
sar ecx, 0x10
mov ecx, dword [esi + ecx*4]
shl edx, 5
mov edx, dword [ecx + edx + 0x10]
mov dword [esp + 0x28], edx
lea esi, [esp + 0x8c]
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], 1
call fcn.007ab178
mov ecx, dword [esp + 0x18]
mov byte [esp + 0xd8], 9
mov edx, dword [eax]
add ecx, 0x64
cmp edx, ebx
jne 0x7cbc53
xor eax, eax
jmp 0x7cbc67
mov eax, edx
lea edi, [eax + 2]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x7cbc58
sub eax, edi
sar eax, 1
push eax
push edx
call fcn.00792db8
mov byte [esp + 0xd8], 7
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cbc99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x54], ebx
je 0x7cbfff
mov ecx, dword [esp + 0x2c]
push 0x4c6230
push ecx
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x34]
call fcn.007ae168
cmp eax, ebx
je 0x7cbd6c
mov esi, dword [esp + 0x50]
mov ecx, eax
mov edx, eax
and edx, 0xffff
sar ecx, 0x10
mov ecx, dword [esi + ecx*4]
shl edx, 5
mov edx, dword [ecx + edx + 0x10]
mov dword [esp + 0x28], edx
lea esi, [esp + 0x94]
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], 1
call fcn.007ab178
mov ecx, dword [esp + 0x18]
mov byte [esp + 0xd8], 0xa
mov edx, dword [eax]
add ecx, 0x90
cmp edx, ebx
jne 0x7cbd26
xor eax, eax
jmp 0x7cbd3a
mov eax, edx
lea edi, [eax + 2]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x7cbd2b
sub eax, edi
sar eax, 1
push eax
push edx
call fcn.00792db8
mov byte [esp + 0xd8], 7
mov eax, dword [esp + 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cbd6c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x54], ebx
je 0x7cbfff
mov ecx, dword [esp + 0x2c]
push 0x4bd8e8
push ecx
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x34]
call fcn.007ae168
cmp eax, ebx
je 0x7cbe3f
mov esi, dword [esp + 0x50]
mov ecx, eax
mov edx, eax
and edx, 0xffff
sar ecx, 0x10
mov ecx, dword [esi + ecx*4]
shl edx, 5
mov edx, dword [ecx + edx + 0x10]
mov dword [esp + 0x28], edx
lea esi, [esp + 0xac]
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], 1
call fcn.007ab178
mov ecx, dword [esp + 0x18]
mov byte [esp + 0xd8], 0xb
mov edx, dword [eax]
add ecx, 0xbc
cmp edx, ebx
jne 0x7cbdf9
xor eax, eax
jmp 0x7cbe0d
mov eax, edx
lea edi, [eax + 2]
mov si, word [eax]
add eax, 2
cmp si, bx
jne 0x7cbdfe
sub eax, edi
sar eax, 1
push eax
push edx
call fcn.00792db8
mov byte [esp + 0xd8], 7
mov eax, dword [esp + 0xac]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cbe3f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x54], ebx
je 0x7cbfff
mov ecx, dword [esp + 0x2c]
push 0x4c6240
push ecx
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x34]
call fcn.007ae168
cmp eax, ebx
je 0x7cbf4c
mov esi, dword [esp + 0x50]
mov ecx, eax
mov edx, eax
and edx, 0xffff
sar ecx, 0x10
mov ecx, dword [esi + ecx*4]
shl edx, 5
mov edx, dword [ecx + edx + 0x10]
mov dword [esp + 0x28], edx
lea esi, [esp + 0x70]
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], 1
call fcn.007ab178
mov byte [esp + 0xd8], 0xc
mov eax, dword [eax]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.00798918
mov edi, dword [eax]
add esp, 8
push 0x10
call fcn.00837a0e
mov esi, eax
cmp esi, ebx
je 0x7cbef8
lea ecx, [esp + 0x14]
push ecx
push edi
mov dword [esi], 0x4c547c
mov dword [esp + 0x1c], ebx
call fcn.00837a32
mov edx, dword [esp + 0x14]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
jmp 0x7cbefa
xor esi, esi
mov eax, dword [esp + 0x18]
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0x9c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cbf24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xd8], 7
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cbf4c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x54], ebx
je 0x7cbfff
mov ecx, dword [esp + 0x2c]
push 0x4c6248
push ecx
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x34]
call fcn.007ae168
cmp eax, ebx
je 0x7cbfff
mov esi, dword [esp + 0x50]
mov ecx, eax
mov edx, eax
and edx, 0xffff
sar ecx, 0x10
mov ecx, dword [esi + ecx*4]
shl edx, 5
mov edx, dword [ecx + edx + 0x10]
mov dword [esp + 0x28], edx
lea esi, [esp + 0xa8]
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], 1
call fcn.007ab178
mov edi, dword [esp + 0x18]
lea ecx, [edi + 8]
push eax
mov byte [esp + 0xdc], 0xd
call fcn.00792d38
mov byte [esp + 0xd8], 7
mov eax, dword [esp + 0xa8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cc003
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x7cc003
mov edi, dword [esp + 0x18]
push 4
lea ecx, [edi + 0xe8]
push 0x4c6250
call fcn.00792db8
mov esi, dword [edi + 0x64]
push esi
call dword [fcn.004b440c]
cmp esi, ebx
lea ecx, [edi + 0x58]
jne 0x7cc02a
xor eax, eax
jmp 0x7cc03e
mov eax, esi
lea edi, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x7cc02f
sub eax, edi
sar eax, 1
push eax
push esi
call fcn.00792db8
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x7cc0af
cmp dword [esp + 0x3c], 1
jne 0x7cc081
mov eax, dword [esp + 0x30]
xor edx, edx
mov esi, eax
cmp esi, ebx
setne dl
mov dword [esp + 0x28], ecx
mov ecx, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], edx
jmp 0x7cc081
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x7cc0af
cmp dword [esp + 0x3c], 1
jne 0x7cc0af
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp eax, ebx
setne cl
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ecx
mov esi, dword [esp + 0x1c]
mov edx, dword [esi + 0x20]
push ebx
push ebx
push 0x1004
push edx
call dword [fcn.004b462c]
push ebx
push ebx
push ebx
push ebx
push 0x4bddd4
push eax
push 1
mov ecx, esi
call fcn.00804d23
mov ecx, dword [esp + 0x18]
push ecx
push ebx
push ebx
push ebx
push ebx
push 4
push ebx
push eax
mov ecx, esi
call fcn.00804d6f
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x78]
cmp eax, dword [edx + 8]
jb 0x7cc0fd
call fcn.0081e954
add dword [esp + 0x78], 4
mov byte [esp + 0xd8], bl
mov ecx, dword [esp + 0x54]
add ecx, reloc.MSVCRT.dll_strncpy
sar ecx, 0x10
add ecx, 1
xor esi, esi
test ecx, ecx
jle 0x7cc140
mov edx, dword [esp + 0x50]
mov eax, dword [edx + esi*4]
push eax
call fcn.007f7cd4
mov ecx, dword [esp + 0x58]
add ecx, reloc.MSVCRT.dll_strncpy
sar ecx, 0x10
add esi, 1
add ecx, 1
add esp, 4
cmp esi, ecx
jl 0x7cc11c
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x7cc151
push eax
call fcn.007f7cd4
add esp, 4
mov esi, dword [esp + 0x4c]
cmp esi, ebx
je 0x7cc18d
cmp dword [esi], ebx
je 0x7cc180
mov edi, dword [esi]
add esi, 4
cmp edi, ebx
je 0x7cc178
mov ebx, edi
call fcn.007aac38
push edi
call fcn.007f7cd4
add esp, 4
xor ebx, ebx
cmp dword [esi], ebx
jne 0x7cc15d
mov esi, dword [esp + 0x4c]
push esi
call fcn.007f7cd4
add esp, 4
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, reloc.MSVCRT.dll_strncpy
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x7cc1ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cb8c5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x7cb8c5
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x6c]
mov eax, dword [ebp + 8]
push esi
push ecx
add eax, 0x78
push edx
push eax
xor eax, eax
call fcn.007f17d8
mov edx, dword [0x4e9438]
add esi, 1
cmp dword [esp + 0x68], edx
mov dword [esp + 0x60], esi
jb 0x7cc211
call fcn.0081e954
mov edx, dword [0x4e9438]
add dword [esp + 0x68], 4
mov edi, dword [esp + 0x68]
jmp 0x7cb4f8
call fcn.00792ab8
push 0x80070057
call fcn.00792ac8
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xf8]
cmp eax, ebx
je 0x7cc250
mov edx, dword [ecx + 0xfc]
sub edx, eax
sar edx, 2
je 0x7cc250
push 0xffffffffffffffff
push ebx
call fcn.007cc298
mov dword [esp + 0xd8], reloc.MSVCRT.dll_strncpy
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, reloc.MSVCRT.dll_strncpy
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x7cc27b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0xd0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4