Function at 0x45e601
Capabilities:
Terminate process

Disassembly:
mov edx, dword [esp + 0xc]
sub edx, 1
mov al, 0x2b
jmp fcn.00463aee
mov edx, dword [esp + 8]
sub edx, 1
mov al, 0x2c
jmp fcn.00463aee
push edx
push ecx
cmp esi, 0x40000000
jl 0x45e5fa
cmp byte [ebx + esi*4 - 1], 0x12
jne 0x45e6f4
fld qword [ebx + esi*4]
sub esp, 8
call fcn.00461ddc
fistp qword [esp]
call fcn.00461dea
mov esi, dword [esp]
add esp, 8
xor eax, eax
cmp edx, 1
jne 0x45e615
mov al, byte [esi]
cmp dword [esp], 0
je 0x45e8dd
cbw
cwde
jmp 0x45e8dd
cmp edx, 2
jne 0x45e629
mov ax, word [esi]
cmp dword [esp], 0
je 0x45e64c
cwde
jmp 0x45e8dd
cmp edx, 4
jne 0x45e664
mov eax, dword [esi]
cmp dword [esp], 0
je 0x45e64c
mov ecx, eax
shl ecx, 1
jno 0x45e8dd
push eax
fild dword [esp]
add esp, 0xc
jmp fcn.00463511
cmp eax, 0x40000000
jb 0x45e8dd
push ebx
push eax
fild qword [esp]
add esp, 0x10
jmp fcn.00463511
cmp edx, 8
jne 0x45e590
cmp dword [esp], 0
je 0x45e677
fild qword [esi]
jmp 0x45e695
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ecx, ebx
shr edx, 1
rcr eax, 1
rcl ecx, 1
push edx
push eax
push ecx
fild dword [esp]
fild qword [esp + 4]
add esp, 0xc
fadd st(0)
faddp st(1)
fld st(0)
fistp qword [esp]
mov eax, dword [esp]
mov edx, dword [esp + 4]
add esp, 8
cmp eax, dword [esi]
jne 0x45e6b1
cmp edx, dword [esi + 4]
je fcn.00463511
sub esp, 8
push edi
mov eax, dword [esi]
mov edx, dword [esi + 4]
fstp st(0)
push ebx
push eax
fild qword [esp]
mov dword [esp], edx
fild qword [esp]
add esp, 8
mov ecx, 2
mov edx, dword [esp + 0xc]
call fcn.004634b7
push eax
mov dword [ebx + eax*4], ebx
lea edi, [ebx + eax*4]
call fcn.00463511
mov dword [edi + 4], ebx
add edi, 4
call fcn.00463511
jmp 0x45e8db
push edi
cmp byte [ebx + esi*4 - 1], 0x80
jne 0x45e57b
cmp dword [ebx + esi*4 - 0xc], 2
jne 0x45e57b
mov ecx, dword [ebx + esi*4 + 4]
cmp ecx, 0x40000000
jl 0x45e73b
cmp byte [ebx + ecx*4 - 1], 0x12
jne 0x45e57b
fld qword [ebx + ecx*4]
sub esp, 8
call fcn.00461ddc
fistp qword [esp]
call fcn.00461dea
mov ecx, dword [esp]
add esp, 8
mov esi, dword [ebx + esi*4]
cmp esi, 0x40000000
jl 0x45e76a
cmp byte [ebx + esi*4 - 1], 0x12
jne 0x45e57b
fld qword [ebx + esi*4]
sub esp, 8
call fcn.00461ddc
fistp qword [esp]
call fcn.00461dea
mov esi, dword [esp]
add esp, 8
cmp dword [esp + 4], 0
jne 0x45e782
cmp dword [esp + 8], 1
jne 0x45e782
call fcn.00463402
mov byte [ecx + eax*4], bl
jmp 0x45e78b
mov edx, dword [esp + 0xc]
call fcn.004634b7
test ecx, ecx
jne 0x45e797
add esp, 4
jmp 0x45e8dd
lea edi, [ebx + eax*4]
push eax
mov edx, dword [esp + 0xc]
cmp edx, 1
jne 0x45e7bb
lodsb al, byte [esi]
cmp dword [esp + 8], 0
je 0x45e7b5
cbw
cwde
stosd dword es:[edi], eax
jmp 0x45e8d2
stosb byte es:[edi], al
jmp 0x45e8d2
cmp edx, 2
jne 0x45e7d5
lodsw ax, word [esi]
and eax, 0xffff
cmp dword [esp + 8], 0
je 0x45e7cf
cwde
stosd dword es:[edi], eax
jmp 0x45e8d2
cmp edx, 4
jne 0x45e82e
lodsd eax, dword [esi]
mov edx, eax
stosd dword es:[edi], eax
cmp dword [esp + 8], 0
je 0x45e807
shl edx, 1
jno 0x45e8d2
mov dword [edi - 4], ebx
sub edi, 4
push eax
fild dword [esp]
add esp, 4
call fcn.00463511
lea edi, [edi + 4]
jmp 0x45e8d2
cmp edx, 0x40000000
jb 0x45e8d2
mov dword [edi - 4], ebx
sub edi, 4
push ebx
push eax
fild qword [esp]
add esp, 8
call fcn.00463511
lea edi, [edi + 4]
jmp 0x45e8d2
cmp edx, 8
jne 0x45e590
cmp dword [esp + 8], 0
je 0x45e842
fild qword [esi]
jmp 0x45e862
push ecx
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ecx, ebx
shr edx, 1
rcr eax, 1
rcl ecx, 1
push edx
push eax
push ecx
fild dword [esp]
fild qword [esp + 4]
add esp, 0xc
fadd st(0)
pop ecx
faddp st(1)
mov dword [edi], ebx
sub esp, 8
fld st(0)
fistp qword [esp]
mov eax, dword [esp]
mov edx, dword [esp + 4]
add esp, 8
cmp eax, dword [esi]
jne 0x45e88c
cmp edx, dword [esi + 4]
jne 0x45e88c
call fcn.00463511
add esi, 8
add edi, 4
jmp 0x45e8d2
add edi, 4
mov eax, dword [esi]
mov edx, dword [esi + 4]
fstp st(0)
push edi
push ebx
push eax
fild qword [esp]
mov dword [esp], edx
fild qword [esp]
add esp, 8
push ecx
mov ecx, 2
mov edx, dword [esp + 0x10]
call fcn.004634b7
mov dword [edi - 4], eax
lea edi, [ebx + eax*4]
mov dword [ebx + eax*4], ebx
call fcn.00463511
mov dword [edi + 4], ebx
add edi, 4
call fcn.00463511
add esi, 8
pop ecx
pop edi
sub ecx, 1
jne 0x45e79b
pop eax
pop edi
mov edx, dword [edi]
add esp, 8
mov dword [edi], eax
cmp edx, 0x40000000
jle 0x45e8f7
sub dword [ebx + edx*4 - 8], 1
je fcn.0046362d
ret