Function at 0x497068
Capabilities:
Terminate process

Disassembly:
sub esp, 0x34
mov eax, dword [0x6dad44]
xor eax, esp
mov dword [esp + 0x2c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x40]
mov ebx, ecx
push esi
push edi
xor ecx, ecx
mov dword [esp + 0x14], edx
push ecx
push ecx
push 0xa6b
xor esi, esi
mov dword [esp + 0x24], ecx
push 0x75d354
inc esi
mov dword [esp + 0x20], ecx
push esi
push 0x68
call fcn.005f5c60
add esp, 0x10
mov ecx, eax
push 0x58
pop edx
call fcn.00487604
push 0xa6d
mov edi, eax
push 0x75d374
push esi
push 4
mov dword [esp + 0x38], edi
mov dword [edi + 0xc], esi
call fcn.005f5c60
add esp, 0x18
mov dword [edi], eax
test eax, eax
je 0x4975e1
mov eax, dword [edi + 0xc]
push 0xa6e
push 0x75d3f8
shl eax, 2
push esi
push eax
call fcn.005f5c60
add esp, 0x10
mov dword [edi + 4], eax
test eax, eax
jne 0x49712d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0xa6e
push esi
push edi
mov edx, 0x75d418
xor ecx, ecx
call fcn.0048f95e
add esp, 0xc
push edi
push 0x75d438
push 0x75d458
jmp 0x49760e
mov eax, dword [edi + 0xc]
push 0xa6f
push 0x75d47c
shl eax, 2
push esi
push eax
call fcn.005f5c60
add esp, 0x10
mov dword [edi + 8], eax
test eax, eax
jne 0x497180
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0xa6f
push esi
push edi
mov edx, 0x75d49c
xor ecx, ecx
call fcn.0048f95e
add esp, 0xc
push edi
push 0x75d4bc
push 0x75d4dc
jmp 0x49760e
mov eax, dword [edi]
mov ecx, 0x134
mov esi, dword [esp + 0x4c]
push 0
mov dword [eax], ebp
mov eax, dword [edi + 4]
mov dword [eax], esi
mov eax, dword [edi + 8]
and dword [eax], 0
lea eax, [edi + 0x48]
push eax
push 0x20
pop edx
mov dword [esp + 0x24], eax
call fcn.004878dc
mov eax, dword [edi + 0x48]
pop ecx
pop ecx
mov dword [eax + 0x14], edi
mov ecx, dword [edi + 0x48]
mov eax, dword [ebx + 0x3c]
mov dword [ecx + 4], eax
cmp esi, 5
jbe 0x4971db
push 5
push ebp
push 0x75d500
call fcn.005f0620
add esp, 0xc
test eax, eax
jne 0x4971db
mov dword [edi + 0x50], 1
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x14]
and dword [edi + 0x38], 0
push 0x10
mov dword [edi + 0x34], eax
pop eax
push 0x1c
pop edx
push 0x17
pop ebp
mov dword [edi + 0x54], 0x405eca
cmp word [ecx], bp
cmove eax, edx
push eax
push ecx
lea ecx, [edi + 0x18]
call section..text
xor esi, esi
pop ecx
pop ecx
cmp dword [edi + 0xc], esi
jle 0x497267
mov eax, dword [edi + 8]
cmp dword [eax + esi*4], 2
jne 0x497261
mov eax, dword [edi + 4]
push 0xa97
push 0x75d508
push 1
push dword [eax + esi*4]
call fcn.005f5c60
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x49731a
mov eax, dword [edi + 4]
mov ecx, ebp
mov edx, dword [eax + esi*4]
mov eax, dword [edi]
push edx
push dword [eax + esi*4]
call section..text
mov eax, dword [edi]
pop ecx
pop ecx
mov dword [eax + esi*4], ebp
mov eax, dword [edi + 8]
and dword [eax + esi*4], 0
inc esi
cmp esi, dword [edi + 0xc]
jl 0x497213
lea ecx, [ebx + 0x44]
call fcn.0044de31
xor ebp, ebp
cmp dword [ebx + 0x38], 1
jle 0x4973c1
cmp ebp, dword [ebx + 0x38]
jge 0x4972bb
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x24]
mov edx, ebp
push eax
mov ecx, esi
call fcn.00494aed
pop ecx
mov ecx, dword [ebx + 0x2c]
lea edx, [esp + 0x24]
mov edi, eax
push 0
push edi
mov dword [esp + 0x18], edi
call fcn.0048b547
pop ecx
pop ecx
test eax, eax
je 0x4972b4
inc ebp
cmp ebp, dword [ebx + 0x38]
jl 0x497284
mov edi, dword [esp + 0x20]
cmp ebp, dword [ebx + 0x38]
jne 0x4973ca
or eax, 0xffffffff
xor ebp, ebp
or esi, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x38], ebp
jle 0x49736f
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x24]
push eax
mov edx, ebp
call fcn.00494aed
pop ecx
mov ecx, dword [ebx + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.0048b728
mov dword [esp + 0x24], eax
pop ecx
test eax, eax
je 0x497386
mov ecx, dword [eax + 0x3c4]
call fcn.0048e252
cmp esi, 0xffffffff
jne 0x49734c
mov esi, eax
mov eax, ebp
mov dword [esp + 0x10], eax
jmp 0x497365
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0xa97
push esi
push edi
mov edx, 0x75d528
xor ecx, ecx
call fcn.0048f95e
add esp, 0xc
push edi
push 0x75d548
push 0x75d568
jmp 0x49760e
cmp eax, esi
jge 0x497361
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x3c4]
call fcn.0048e252
jmp 0x497310
mov eax, dword [esp + 0x10]
inc ebp
cmp ebp, dword [ebx + 0x38]
jl 0x4972d5
lea ecx, [esp + 0x24]
mov edx, eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.00494aed
pop ecx
mov dword [esp + 0x10], eax
jmp 0x4973ce
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov edi, 0xfd
mov esi, 0xab9
push edi
push esi
mov edx, 0x75d58c
xor ecx, ecx
call fcn.0048f95e
add esp, 0xc
push esi
push 0x75d5ac
push 0x75d5cc
call fcn.00401109
add esp, 0xc
push edi
jmp 0x497617
lea eax, [esp + 0x24]
xor edx, edx
push eax
jmp 0x497376
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x2c]
lea edx, [esp + 0x24]
push eax
call fcn.0048b728
mov esi, eax
pop ecx
test esi, esi
je 0x4974fc
lea ebp, [edi + 0x48]
mov ecx, dword [ebp]
mov dword [ecx], esi
mov ecx, dword [esi + 0x3c4]
call fcn.0048dfc9
mov ecx, dword [esi + 0x3c4]
mov edx, edi
push 0
test eax, eax
jne 0x4974ed
call fcn.0048e18a
mov eax, dword [ebx + 0x40]
pop ecx
test eax, eax
je 0x497419
dec eax
mov ecx, dword [ebx + 0x30]
lea edx, [esp + 0x24]
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x10]
push eax
call fcn.0048b76e
pop ecx
mov ecx, dword [ebx + 0x3c]
mov edx, esi
call fcn.0048da80
xor edx, edx
cmp dword [esi + 0x398], edx
jne 0x497469
mov ecx, dword [esi + 0x3c8]
test ecx, ecx
je 0x497455
call fcn.00484fd7
test eax, eax
je 0x497469
mov ecx, dword [ebx + 0x34]
push edx
mov edx, esi
call fcn.0048e18a
xor eax, eax
pop ecx
inc eax
jmp 0x4975b8
cmp dword [esi + 0x3c8], edx
je 0x4975b6
cmp dword [esi + 0x38c], edx
jne 0x4975b6
mov ebp, edx
cmp dword [edi + 0xc], edx
jle 0x4974af
mov eax, dword [edi + 4]
push 1
push dword [eax + ebp*4]
mov eax, dword [edi]
push dword [eax + ebp*4]
push 1
push edx
push dword [esi + 0x3c8]
call fcn.00482f1e
add esp, 0x18
inc ebp
push 0
pop edx
cmp ebp, dword [edi + 0xc]
jl 0x497488
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x4975ad
mov ecx, dword [eax + 0x14]
test ecx, ecx
jle 0x4974da
mov edx, dword [eax + 0x18]
test edx, edx
je 0x4974da
mov eax, dword [esi + 0x3c8]
mov dword [eax + 0x1250], ecx
mov dword [eax + 0x1254], edx
push esi
push dword [esi + 0x3c8]
call fcn.00496665
mov ebp, dword [esp + 0x24]
pop ecx
jmp 0x4974f2
call fcn.0048e18a
pop ecx
mov eax, dword [esp + 0x18]
jmp 0x4975b8
push 0
push 0
push 0xb01
push 0x75d5f0
push 1
push 0x438
call fcn.005f5c60
add esp, 0x10
mov edx, 0x428
mov ecx, eax
call fcn.00487604
mov ecx, dword [edi + 0x48]
mov esi, eax
mov dword [ecx], esi
xor ecx, ecx
or dword [esi + 0x368], 0xffffffff
mov dword [esi + 0x360], ebx
call fcn.0048dec7
push 0x17
pop ecx
mov dword [esi + 0x3c4], eax
mov eax, dword [esp + 0x1c]
push 0x10
cmp word [eax], cx
pop ecx
push 0x1c
pop edx
cmove ecx, edx
push ecx
push eax
lea ecx, [esi + 0x28]
call section..text
mov ecx, dword [esi + 0x3c4]
mov edx, edi
mov dword [esi + 0x3ec], ebp
xor ebp, ebp
push ebp
call fcn.0048e18a
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x38]
mov ecx, dword [ebx + 0x2c]
add esp, 0x14
push esi
push eax
call fcn.0048b6ef
pop ecx
pop ecx
cmp dword [esi + 0x398], ebp
jne 0x4975ad
mov ecx, dword [ebx + 0x34]
mov edx, esi
push ebp
call fcn.0048e18a
mov ebp, dword [esp + 0x20]
xor eax, eax
pop ecx
inc eax
jmp 0x4975b8
mov ebp, dword [esp + 0x1c]
jmp 0x4974f3
mov eax, edx
mov dword [ebx + 0x44], 0
test eax, eax
je 0x4975cb
mov ecx, dword [ebx + 0x10]
call fcn.00488135
mov eax, dword [ebp]
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005c0e20
add esp, 0x34
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov esi, 0xfe
mov edi, 0xa6d
push esi
push edi
mov edx, 0x75d394
xor ecx, ecx
call fcn.0048f95e
add esp, 0xc
push edi
push 0x75d3b4
push 0x75d3d4
call fcn.00401109
add esp, 0xc
push esi
call fcn.005d08b0
int3