Function at 0x4b9910
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1350
call fcn.004c1010
mov ecx, dword [ebp + 0xc]
xor edx, edx
push ebx
push esi
push edi
mov eax, dword [ecx + 0x510]
mov ebx, dword [ecx + 0x504]
mov esi, dword [ecx + 0x508]
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x30], ebx
test ebx, ebx
jle 0x4b998a
mov eax, 0xffffff38
lea edi, [ebp - 0x244]
mov ecx, ebx
rep stosd dword es:[edi], eax
mov ecx, ebx
lea edi, [ebp - 0x140]
rep stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x44c]
mov ecx, ebx
rep stosd dword es:[edi], eax
test ebx, ebx
jle 0x4b998a
mov eax, 1
lea edi, [ebp - 0x348]
mov ecx, ebx
rep stosd dword es:[edi], eax
or eax, 0xffffffff
lea edi, [ebp - 0x550]
mov ecx, ebx
test ebx, ebx
rep stosd dword es:[edi], eax
jne 0x4b99ab
mov edi, dword [ebp - 0xc]
lea eax, [ebp - 0x1350]
push edi
push esi
push eax
push esi
push 0
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call fcn.004bb330
add esp, 0x1c
jmp 0x4b99fc
lea eax, [ebx - 1]
xor esi, esi
mov dword [ebp - 0x10], eax
test eax, eax
jle 0x4b9e23
lea edi, [ebp - 0x1350]
xor ebx, ebx
push dword [ebp - 0xc]
mov eax, dword [ebp + 0xc]
push dword [eax + 0x508]
push edi
push dword [eax + esi*4 + 4]
push dword [eax + esi*4]
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call fcn.004bb330
inc esi
add esp, 0x1c
add ebx, eax
add edi, 0x38
cmp esi, dword [ebp - 0x10]
jl 0x4b99c3
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4b9e21
push edi
lea ecx, [ebp - 4]
mov dword [ebp - 8], 0xffffff38
push ecx
lea ecx, [ebp - 8]
mov dword [ebp - 4], 0xffffff38
push ecx
lea eax, [ebx - 1]
push eax
lea eax, [ebp - 0x1350]
push eax
call fcn.004bb4a0
mov eax, dword [ebp - 8]
mov esi, 2
mov edi, dword [ebp - 4]
add esp, 0x14
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x240], edi
cmp ebx, esi
jle 0x4b9ce2
mov edx, dword [ebp + 0xc]
lea eax, [edx + 0x210]
mov dword [ebp - 4], eax
nop word [eax + eax]
mov eax, dword [eax]
mov ecx, dword [ebp + eax*4 - 0x44c]
mov eax, dword [ebp + eax*4 - 0x348]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x3c], eax
cmp dword [ebp + ecx*4 - 0x550], eax
je 0x4b9cc2
mov edi, dword [edx + ecx*4 + 0x208]
mov edx, dword [edx + eax*4 + 0x208]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x34], edi
mov dword [ebp + ecx*4 - 0x550], eax
mov edi, dword [edx + ecx*4 + 0x344]
mov dword [ebp - 0x20], edi
mov edi, dword [edx + eax*4 + 0x344]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp + ecx*4 - 0x244]
test edi, edi
jns 0x4b9ae4
lea edx, [ebp - 0x140]
mov edi, dword [edx + ecx*4]
lea edx, [edx + ecx*4]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0xc]
jmp 0x4b9af8
lea ecx, [ebp + ecx*4 - 0x140]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ecx]
test ecx, ecx
js 0x4b9af8
add edi, ecx
sar edi, 1
lea ecx, [eax*4]
lea eax, [ebp - 0x244]
add eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [eax]
mov dword [ebp - 8], eax
test eax, eax
jns 0x4b9b1c
mov eax, dword [ebp + ecx - 0x140]
jmp 0x4b9b2b
mov ecx, dword [ebp + ecx - 0x140]
test ecx, ecx
js 0x4b9b2e
add eax, ecx
sar eax, 1
mov dword [ebp - 8], eax
cmp edi, 0xffffffff
je 0x4b9e2c
cmp eax, 0xffffffff
je 0x4b9e2c
push edx
push dword [ebp + 0x10]
push dword [ebp + 0x14]
push eax
push edi
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.004bb770
add esp, 0x1c
test eax, eax
je 0x4b9ca9
push dword [ebp - 0xc]
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0xffffff38
push eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], 0xffffff38
mov dword [ebp - 0x14], 0xffffff38
mov dword [ebp - 0x20], 0xffffff38
mov eax, dword [eax]
sub eax, ecx
push eax
lea eax, [ecx*8]
sub eax, ecx
lea ecx, [ebp - 0x1350]
lea eax, [ecx + eax*8]
push eax
call fcn.004bb4a0
push dword [ebp - 0xc]
mov edx, dword [ebp - 4]
lea ecx, [ebp - 0x20]
push ecx
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x14]
mov eax, dword [ebp - 0x28]
push ecx
mov ecx, dword [edx]
sub eax, ecx
push eax
lea edx, [ebp - 0x1350]
lea eax, [ecx*8]
sub eax, ecx
lea eax, [edx + eax*8]
push eax
call fcn.004bb4a0
mov edx, eax
add esp, 0x28
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], eax
je 0x4b9bf2
mov ecx, eax
jmp 0x4b9bf8
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
test edx, edx
je 0x4b9c07
mov edx, dword [ebp - 8]
mov dword [ebp - 0x14], ecx
jmp 0x4b9c0a
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x24], 0
je 0x4b9c1a
cmp dword [ebp - 0x28], 0
jne 0x4b9ca9
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], 0
mov dword [eax], edi
mov eax, dword [ebp - 0x244]
cmove eax, edi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp + esi*4 - 0x244], ecx
mov ecx, dword [ebp - 0x3c]
cmp ecx, 1
mov dword [ebp + esi*4 - 0x140], edi
mov dword [eax], edx
mov eax, dword [ebp - 0x13c]
cmove eax, edx
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x13c], eax
jge 0x4b9c67
test edi, edi
js 0x4b9cbf
mov eax, dword [ebp - 4]
mov edx, dword [eax]
lea eax, [edx - 1]
test eax, eax
js 0x4b9c88
cmp dword [ebp + eax*4 - 0x348], ecx
jne 0x4b9c88
mov dword [ebp + eax*4 - 0x348], esi
sub eax, 1
jns 0x4b9c73
lea eax, [edx + 1]
cmp eax, ebx
jge 0x4b9cbf
mov ecx, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x44c], ecx
jne 0x4b9cbf
mov dword [ebp + eax*4 - 0x44c], esi
inc eax
cmp eax, ebx
jl 0x4b9c92
jmp 0x4b9cbf
mov dword [ebp + esi*4 - 0x140], 0xffffff38
mov dword [ebp + esi*4 - 0x244], 0xffffff38
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
inc esi
add eax, 4
mov dword [ebp - 4], eax
cmp esi, ebx
jl 0x4b9a70
mov edi, dword [ebp - 0x240]
mov esi, dword [ebp - 0x140]
jmp 0x4b9ce5
mov esi, dword [ebp - 8]
lea eax, [ebx*4]
push eax
push dword [ebp + 8]
call fcn.004ad720
add esp, 8
mov edx, eax
cmp dword [ebp - 0x244], 0
mov dword [ebp - 4], edx
jl 0x4b9d1a
test esi, esi
jns 0x4b9d12
mov esi, dword [ebp - 0x244]
jmp 0x4b9d1a
add esi, dword [ebp - 0x244]
sar esi, 1
mov dword [edx], esi
test edi, edi
jns 0x4b9d28
mov edi, dword [ebp - 0x13c]
jmp 0x4b9d39
cmp dword [ebp - 0x13c], 0
jl 0x4b9d39
add edi, dword [ebp - 0x13c]
sar edi, 1
mov dword [edx + 4], edi
mov dword [ebp - 0x10], 2
cmp ebx, 2
jle 0x4b9e23
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
add ecx, 0x30c
mov dword [ebp - 0x1c], ecx
lea eax, [ebx + 0x34c]
mov dword [ebp - 8], eax
mov eax, dword [ecx + 0xfc]
mov esi, dword [ecx]
mov ecx, dword [ebp - 8]
mov edi, dword [ebx + eax*4 + 0x344]
mov eax, dword [edx + eax*4]
mov ebx, dword [edx + esi*4]
and eax, 0x7fff
mov ecx, dword [ecx]
and ebx, 0x7fff
sub ebx, eax
mov dword [ebp + 0xc], eax
mov eax, ebx
sub ecx, edi
cdq
xor eax, edx
sub eax, edx
imul eax, ecx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + esi*4 + 0x344]
sub ecx, edi
cdq
idiv ecx
mov ecx, dword [ebp + 0xc]
test ebx, ebx
jns 0x4b9db4
sub ecx, eax
jmp 0x4b9db6
add ecx, eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + edx*4 - 0x244]
test eax, eax
jns 0x4b9dcd
mov eax, dword [ebp + edx*4 - 0x140]
jmp 0x4b9ddc
mov esi, dword [ebp + edx*4 - 0x140]
test esi, esi
js 0x4b9ddc
add eax, esi
sar eax, 1
test eax, eax
js 0x4b9dec
cmp ecx, eax
je 0x4b9dec
mov esi, dword [ebp - 4]
mov dword [esi + edx*4], eax
jmp 0x4b9df8
mov esi, dword [ebp - 4]
or ecx, 0x8000
mov dword [esi + edx*4], ecx
mov ecx, dword [ebp - 0x1c]
inc edx
add dword [ebp - 8], 4
add ecx, 4
cmp edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x1c], ecx
jl 0x4b9d64
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
push 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
int3